【问题标题】:.NET MVC3 - Url and Controller relation?.NET MVC3 - 网址和控制器关系?
【发布时间】:2012-04-18 19:47:01
【问题描述】:

我对 ASP .NET MVC3 比较陌生。 我知道当我通过 Visual Studio 创建控制器时,它们会响应一些 URL。但是在哪里定义了哪个控制器响应哪个 URL?

感谢您的帮助。

【问题讨论】:

    标签: .net asp.net-mvc-3


    【解决方案1】:

    查看您的 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);
        }
    }
    

    【讨论】:

    • 好的,但是:为什么我只看到“Home”控制器的注册,而我的其他控制器却没有,甚至“AccountController”也没有。
    • 又怎么知道controller="Home" 指的是"HomeController" 类?
    • @user1103990 - 约定。它知道它需要将Controller 添加到传入的值并查找该名称的类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2017-06-10
    • 2019-01-17
    • 1970-01-01
    相关资源
    最近更新 更多