2012-04-18 97 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