我刚刚开始使用ASP.NET MVC。
MapRoute和routes.Add有什么区别?
我应该只使用MapRoute吗?我可以映射多条路线吗?哪个“ map ”优先...您最先调用或最后一个?
我希望能够为用户做类似于StackOverflow的操作。
但我希望该网址适合这种模式:
“用户/ {域} / {用户名}”将被路由到UserController
并针对所有其他请求执行典型的ASP.NET MVC路由。例如:
routes.MapRoute(
"Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
更新:
使用URL时:http://localhost:3962/User/MYDOMAIN/BTYNDALL
我收到错误消息:HTTP404。您正在寻找的资源(或其依赖项之一)可能已被删除,名称更改或暂时不可用。
这是我正在使用的代码:
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);
}
}
最佳答案
您的用户 Controller 应具有
public class UserController : Controller {
public ActionResult Index(string domain, string username) { return View(); }
}
用户 Controller 的Index方法上的两个变量从路由中获取。
关于.net - ASP.NET MVC-MapRoute与route.Add(和404s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/513663/