0

在 ASP.NET MVC 2 项目中,我该如何编写一个自定义视图引擎,允许在搜索视图时使用自定义令牌?

具体来说,我正在努力实现这一目标:

在 PagesController 中:

public ActionResult ViewPage(string folder, string page)
{
  return View(folder, page);
}

我希望视图引擎在目录中搜索视图:/Views/Pages/[folder]/

在不提前知道文件夹名称的情况下如何实现这一点?理想情况下,这个定制的视图引擎将只用于这个单一的控制器。

4

2 回答 2

0

您无需实现自己的视图引擎即可解决此问题。您可以简单地提供所需视图的路径。像这样的东西:

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));
}
于 2010-06-22T13:49:15.197 回答
0

如果这些值因请求而改变(...看起来像那样),那么您需要覆盖 CreateView。我自己没有做过,但在一个关于 SO 的问题中,有人说它可能:

在视图中使用单独的语言文件夹进行本地化

于 2010-06-22T18:03:01.320 回答