c# - 如何让 ASP.NET MVC 为区域设置默认 Controller 和操作?

标签 c# asp.net-mvc routes areas

我创建了一个包含区域的新 ASP.NET MVC 项目,并且我正在尝试将 Controller 操作设置为用户访问该区域时的默认 Controller 操作。

我添加了一个名为“登录”的区域,现在我有 Areas/Login/ 并且我添加了 LoginController

我正在尝试将此 Controller 设置为在用户导航到该网站时调用。 如果我在浏览器中输入 www.test.com/Login/Login 就可以访问它,但我不知道如何在 global.asax 中设置路由以指向它 Controller 作为默认值。

我如何在 ASP.NET MVC 中做到这一点?

最佳答案

当你创建你的区域时,MVC 没有在 Areas/[AreaName] 文件夹下创建 [AreaName]AreaRegistration 类吗?在那里您会找到与此类似的区域注册。修改defaults参数的controller =部分为你想默认使用的 Controller 名称(Login):

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Login_default",
            "Login/{controller}/{action}/{id}",
            new { controller = "Login", action = "Index", id = UrlParameter.Optional }
        );
    }

关于c# - 如何让 ASP.NET MVC 为区域设置默认 Controller 和操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472747/

相关文章:

c# - 在 MVC 中从同步调用异步而没有等待时,TPL 任务死锁

ruby-on-rails-3 - 为什么我的嵌套资源中出现 "no route matches [POST]"?

c# - 在使用 CQRS 模式的 C# 解决方案中是否存在可靠的内存中服务总线?

c# - 如何在 C# 和 .NET 2.0 中将 String[] 转换为 int[]?

asp.net - 将 Angular 添加到现有的 ASP.NET Web 窗体项目?

c# - MVC - 有没有办法在模型中声明具有相同属性、不同名称的多个属性

c# - 将空 String 反序列化为 List<string>

c# - 将 Excel 导入 ASP.NET 时的 OleDbDataAdapter 和列转换

ruby-on-rails - Rails 3 上嵌套路由的功能测试

filter - Laravel,路由通配符过滤然后 Controller