在ASP.NET MVC 2项目中,我如何编写自定义视图引擎,允许在搜索视图时使用自定义标记?
具体来说,我正在努力实现这一目标:
在PagesController中:
public ActionResult ViewPage(string folder, string page)
{
return View(folder, page);
}
我希望视图引擎在目录中搜索视图:/ Views / Pages / [folder] /
如果不提前知道文件夹名称,我怎样才能实现这一目标?理想情况下,此自定义视图引擎仅用于此单个控制器。
答案 0 :(得分:0)
您无需实现自己的viewengine来解决此问题。您只需提供所需视图的路径即可。像这样:
return View("~/Views/Pages/FolderName/ViewName.aspx");
你的例子看起来像这样:
public ActionResult ViewPage(string folder, string page) {
return View(string.Format("~/Views/Pages/{0}/{1}.aspx", folder, page));
}
答案 1 :(得分:0)
如果这些值按请求更改(......看起来像那样),那么您需要覆盖CreateView。我自己没有这样做,但是在SO的一个问题中有人说它可能: