當用戶訪問我的網站時,查詢字符串中可能會有一個template=foo
傳入。該值正在驗證中並存儲在Session
中。在MVC 3中的多個位置搜索.cshtml?
我的文件格式是這樣的:
- Views/
- Templates/
- test1/
- Home
- Index.cshtml
- test2/
- Home
- List.cshtml
- Home/
- Index.cshtml
基本上,如果用戶請求Index
與template=test1
,我想用Views/Templates/test1/Index.cshtml
。如果他們有template=test2
,我想用Views/Home/Index.cshtml
(因爲/Views/Templates/test2/Home/Index.cshtml
不存在)。如果他們沒有通過模板,那麼它應該直接去Views/Home
。
我是新來的MVC和.NET的一般,所以我不知道從哪裏開始尋找。我使用MVC3和Razor作爲視圖引擎。
不知道它的工作原理,但嘗試返回視圖'返回查看(string.Concat(的Request.QueryString [ 「template」],「/ Index」))' –
如果可能,更優雅的方法是從Controller類派生並覆蓋「View」方法 –