C# MVC自定义路由
我是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. } 有人知道如何做到这一点吗
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方法。系统!=系统。这就是问题所在吗?