好的,以前已经问过了,但是那里没有固定的解决方案。因此,对于我自己和其他可能会觉得有用的人而言。
在MVC2(ASP.NET)中,我想要它,因此当有人导航到该网站时,会指定一个默认区域。因此,导航至我的网站应该会将您发送到AreaZ中的ControllerX ActionY。
在Global.asax中使用以下路由
routes.MapRoute(
"Area",
"",
new { area = "AreaZ", controller = "ControllerX ", action = "ActionY " }
);
现在,它的工作方式就像尝试提供正确的页面一样。但是,MVC会在站点的根目录而不是Area文件夹中查找View。
有办法解决吗?
编辑
有一个“解决方案”,在ControllerX中,ActionY返回视图的完整路径。有点破解,但确实可以。但是我希望有更好的解决方案。
public ActionResult ActionY()
{
return View("~/Areas/AreaZ/views/ActionY.aspx");
}
编辑:
当具有页面的HTML ActionLink时,这也成为一个问题。如果未设置该区域,则动作链接输出为空白。
所有这些是设计还是缺陷?
开满天机