相关疑难解决方法(0)

如何在MVC中设置默认路由(到某个区域)

好的,以前有人问过,但那里没有可靠的解决方案.所以为了我自己和其他可能觉得有用的人的目的.

在MVC2(ASP.NET)中我想要它,所以当有人导航到网站时,指定了一个默认区域.因此,导航到我的站点应该会将您发送到AreaZ中的ControllerX ActionY.

在Global.asax中使用以下路由

routes.MapRoute(
                "Area",
                "",
                new { area = "AreaZ", controller = "ControllerX ", action = "ActionY " }
            );
Run Code Online (Sandbox Code Playgroud)

现在,这样可以尝试提供正确的页面.但是,MVC继续在站点的根目录中查找View,而不是在Area文件夹中查找.

有办法解决这个问题吗?

编辑

有一个'解决方案',即在ControllerX中,ActionY返回视图的完整路径.一点点黑客但它确实有效.但是我希望有更好的解决方案.

         public ActionResult ActionY()
        {
            return View("~/Areas/AreaZ/views/ActionY.aspx");
        }
Run Code Online (Sandbox Code Playgroud)

编辑:

当具有页面的HTML ActionLink时,这也成为一个问题.如果未设置该区域,则"操作链接"输出为空白.

所有这些都是设计还是缺陷?

asp.net-mvc asp.net-mvc-2

119
推荐指数
5
解决办法
10万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-2 ×1