2012-04-18 100 views
0

我比較新的ASP .NET MVC3。 我知道當我通過Visual Studio創建我的控制器時,他們會響應某個URL。但是在哪裏定義哪個控制器響應哪個URL?.NET MVC3 - Url和Controller的關係?

謝謝你的幫助。

回答

0

看看你的global.asax文件 - 路由表通常在那裏定義。

這是URL和控制器/操作之間的映射。

查看官方ASP.NET MVC Routing Overview瞭解詳情。

public class MvcApplication : System.Web.HttpApplication 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default",            // Route name 
      "{controller}/{action}/{id}",       // URL with parameters 
      new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
     ); 

    } 

    protected void Application_Start() 
    { 
     RegisterRoutes(RouteTable.Routes); 
    } 
} 
+0

好的,但後來:爲什麼我只看到「Home」控制器的註冊,而沒有爲我的其他控制器註冊,甚至沒有看到「AccountController」。 – TTT 2012-04-18 13:13:18

+0

它是如何知道controller =「Home」是指類「HomeController」? – TTT 2012-04-18 13:14:18

+0

@ user1103990 - 約定。它知道它需要爲傳入的值添加Controller,並查找該名稱的類型。 – Oded 2012-04-18 13:17:51