Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
C# MVC自定义路由_C#_Asp.net Mvc_Url Routing - Fatal编程技术网

C# MVC自定义路由

C# MVC自定义路由,c#,asp.net-mvc,url-routing,C#,Asp.net Mvc,Url Routing,我是MVC新手。我无法通过以下方式完成路线设置: System/{systemName}/{action} 其中systemName是动态的,没有调用的“静态”方法。i、 e http://sitename.com/Systems/客厅/View 我希望上面的URL调用一个方法,例如 public void RouteSystem(string systemName, string action) { // perform redirection here. } 有人知道如何做到这一点吗

我是MVC新手。我无法通过以下方式完成路线设置:

System/{systemName}/{action}
其中systemName是动态的,没有调用的“静态”方法。i、 e

http://sitename.com/Systems/
客厅
/View

我希望上面的URL调用一个方法,例如

public void RouteSystem(string systemName, string action)
{
  // perform redirection here.
}
有人知道如何做到这一点吗

routes.MapRoute(
    "Systems_Default",
    "System/{systemName}/{action}",
    new { controller="System", action = "RouteSystem", systemName="" }
);
应按照指定的方式发送请求

请注意,使用上述路线,您的Url应为:

http://sitename.com/System/LivingRoom/View

我也有类似的问题。我走了下面的路线

       routes.MapRoute(
            "BlogSpecific",                                              // Route name
            "{blogSubFolder}/{controller}/{action}/{id}",                           // URL with parameters
            new { blogSubFolder = "", controller = "", action = "", id = "" }  // Parameter defaults
        );

blogSubFolder只是作为参数传递给我的控制器操作。控制器和动作都像平时一样工作。只需将blog子文件夹与“System”参数交换,这很有希望对您有效。

看起来您打算根据系统名称路由到控制器。如果这是正确的,那么您只需要:

routes.MapRoute("Systems",
                "Systems/{controller}/{action}"
                new{controller = "YourDEFAULTController", action = "YourDEFAULTAction"});
请注意,第三行仅设置url中未包含的默认值

鉴于上述路线,MVC将对以下路线进行布线:

要查看LivingRoom控制器上的操作方法。然而,这:


将路由到客厅控制器上的YourDEFAULTAction方法。

系统!=系统。这就是问题所在吗?