我刚开始学习ASP.NET MVC。
MapRoute和routes.Add之间有什么区别? 我应该只使用MapRoute吗?我可以映射多个路由吗?哪些“映射”优先...你最先调用的还是最后调用的?
我想能够像StackOverflow一样为用户提供类似的功能。
但我希望URL符合以下模式:
"User/{domain}/{username}"被路由到UserController
对于所有其他请求,都按照典型的ASP.NET MVC路由处理。例如:
routes.MapRoute(
"Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
更新:
当使用以下URL时:http://localhost:3962/User/MYDOMAIN/BTYNDALL
我遇到了这个错误:HTTP 404。您要查找的资源(或其某个依赖项)可能已被删除,名称已更改或暂时不可用。
这是我的代码:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"User",
"User/{domain}/{username}",
new { controller = "User", action = "Index" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}