1

我在我的项目中使用区域,但我想将这些区域中的视图组织到子文件夹中。

例如,我有一个名为 Members 的区域,其中包含一个名为 Settings 的 Controller 和另一个名为 MemberCategory 的 Controller。MemberCategory 实际上是设置的子文件夹。

我想当我访问我的 url 的 Member Category 视图时解析为 Members/Settings/MemberCategory

目前它解析为 Members/MemberCategory

是否可以将视图嵌套到子文件夹中并将控制器更改为指向

return View("Members/Settings/MemberCategory");

或者这需要通过路由来完成吗?

任何示例将不胜感激。

4

2 回答 2

5

我已经用 Routes 解决了这个问题,并且没有将视图嵌套到子文件夹中。

在我的区域注册文件中,我在默认路线上方添加了以下内容:

    context.MapRoute(
        "MemberCategory",
        "Members/Settings/MemberCategory",
        new { controller = "MemberCategory", action = "Index" }
    );

    context.MapRoute(
        "MemberCategoryAction",
        "Members/Settings/MemberCategory/{action}/{id}",
        new { controller = "MemberCategory", action = "Index", id = UrlParameter.Optional }
    );

不确定这是否是最优雅的方式,但它适用于我的情况。

于 2012-09-12T14:35:26.037 回答
1

您还可以执行以下操作:

return this.View("../MailTemplates/ResetPassword");

访问您要使用的视图。代码编辑器将无法解决此问题,但它可以工作。

我认为这比:

return this.View("~/Areas/Cms/MailTemplates/ResetPassword");
于 2013-01-10T10:18:03.977 回答