2010-06-22 23 views
0

在ASP.NET MVC 2项目中,我该如何编写自定义视图引擎,以便在搜索视图时使用自定义标记?视图引擎中的自定义令牌?

具体来说,我试图做到这一点:

在PagesController:

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

我想视图引擎搜索该目录中的观点:/浏览/页/ [文件夹]/

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

回答

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)); 
} 
+0

是的,我知道我可以做到这一点,事实上,这是我在做什么现在。如果可能的话,我希望能够使用视图引擎。 – 2010-06-22 14:21:21

+0

@Brian Vallelunga,你为什么要这么做?能够像这样传递视图的位置是viewengine的一个特性。为什么重复这个?这很可能会导致代码不易维护。 – 2010-06-22 14:28:12

+0

我想你在这种情况下是正确的。例如,您没有得到的是自动404检查。当然,这很容易添加。 – 2010-06-22 14:44:11