2010-06-22 51 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