【发布时间】:2016-02-23 05:26:33
【问题描述】:
我有一个 MVC 应用程序分解为多个区域。 结构是这样的: 区域 > 区域名称 > 视图 > 各种视图文件夹
我需要在这些视图文件夹中添加一个名为 HelpFiles 的文件夹,使结构像这样 区域 > 区域名称 > 视图 > 各种视图文件夹 > 帮助文件
在我的 Layout 页面中,单击它时我有一个图标,它将调用一个控制器方法,该方法将返回 HelpFiles 文件夹中的所有部分视图并将它们显示在一个 div 中。
到目前为止我做了什么: 我已经向 basecontroller 添加了一个方法,如下所示:
public ActionResult ShowHelpText(string viewName)
{
var areaName = ControllerContext.RouteData.DataTokens["area"];
var folderName = "~"+ areaName + viewName + "HelpFiles/";
ViewBag.Partials = ????
return View();
}
在返回视图中,我的代码是这样的:
@foreach (string partial in ViewBag.Partials)
{
//Html.RenderPartial(partial);
@Html.Partial(partial)
}
我的问题是我无法找到从文件夹中获取所有视图的方法。
我意识到这不是理想的方式,帮助文本应该来自数据库等,但是由于与 CMS 服务相关,我们现在只能使用这种结构。
任何帮助或指点将不胜感激。
谢谢
【问题讨论】:
-
这不是放置帮助文件的最佳位置。将它们放在内容文件夹中。如果不存在,则创建一个名为 Content 的文件夹并放入您的 HelpFiles 子文件夹。
-
是的,你是对的,这不是执行此操作的理想方式,但这不是留给我的选择。
标签: asp.net-mvc