我如何处理这样的网址:
{subdomain}.{domainname}/{areas}/{controller}/{action}
例如:user1.contoso.com/Manage/User/View
我希望它成为路线:
{area} = Manage
{controller} = User
{action} = View
{username} = user1 // View action parameter
非常感谢任何帮助: - )
答案 0 :(得分:1)
通常路由在RegisterRoutes方法 Global.asax 文件中定义
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Export", // Route name
"Export/{action}/{table}", // URL with parameters
new { controller = "Export", action = "AsExcel", table = "" } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
使用上面的定义,您可以为 ExportController 使用单独的路线,以便默认操作为 AsExcel
如果您已经描述了路线,我不确定 区域 是否属于MVC模式。
仍然是值得的,你可以从这个线程中获益 ASP.Net MVC with complex routes - how to keep it "sane"?