我剛剛開始使用ASP.NET MVC。ASP.NET MVC - MapRoute與routes.Add(和404s)
MapRoute和routes.Add有什麼區別? 我應該只使用MapRoute嗎?我可以繪製多條路線嗎?哪些「地圖」優先考慮?您最先或最後的那些地圖?
我希望能夠做一些類似於StackOverflow爲用戶做的事情。 但我想的URL,以適應這種模式:
「用戶/ {域}/{用戶名}」到路由到一個UserController的
和所有其他請求做典型的ASP.NET MVC路由。例如:
routes.MapRoute(
"Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
UPDATE:
當使用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);
}
}
您對這個問題的更新的確是一個不同的問題...你確定要打成一片呢? – DSO 2009-02-04 22:43:58
您可以將Index方法中的代碼粘貼到用戶控制器上。也許,DSO, – JMS 2009-02-04 22:48:33
。我對路線工作方式的假設是正確的。首先建立的路線優先,由Brannon證實。但我得到這個奇怪的404錯誤。也許其他用戶會在遇到有關路由優先權的問題的同時遇到此問題。 – BuddyJoe 2009-02-04 22:49:18