Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc路由和获取字符串_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc路由和获取字符串

Asp.net mvc路由和获取字符串,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我有这个路线定义 routes.MapRoute( name: "test", url: "test/{name}", defaults: new { controller = "Home", action = "test"} ); 这个控制器呢 public ActionResult test(string data) { switch (data) { case "test1":

我有这个路线定义

routes.MapRoute(
    name: "test",
    url: "test/{name}",
    defaults: new { controller = "Home", action = "test"}
);
这个控制器呢

public ActionResult test(string data)
{                   
    switch (data)
    {
        case "test1":
            return View("test1");
        case "test2":
            return View("test2");
        case "test3":
            return View("test3");
        default:
            return View("test1");
    }
}
我的url
…localhost:3598/test/test1


但我在控制器的参数中得到空数据。如何在
switch(data)
中获取“test1”?

将路径更改为
url:“test/{data}”,
(或将方法更改为
public ActionResult test(string name)
),以便它们匹配您可以在返回视图时传入对象(模型),然后在视图中仅选择您需要的对象。返回视图(“测试、数据”);这样,您也不需要执行switch语句,只需返回对象即可
 routes.MapRoute(
           name: "test",
           url: "Test/{data}",
           defaults: new { controller = "Home", action = "test", data = UrlParameter.Optional }               
           );