2015-10-03 22 views
1

我在文件夾Views-Department中有我的視圖'Create.cshtml'。我想使用名爲'_EnterpriseStructure.cshtml'的位於根目錄'CommonViews'中的部分視圖。 我使用的語法的RenderPartialHtml.RenderPartial - 渲染位於另一個文件夾中的部分視圖

@{Html.RenderPartial("~/CommonViews/_EnterpriseStructure.cshtml");} 

局部視圖代碼

<div id="Client"> 
    This is a Partial View. 
</div> 

執行時我收到System.InvalidOperationException。

詳細的錯誤是:

在 '〜/ CommonViews/_EnterpriseStructure.cshtml' 視圖必須從WebViewPage,或WebViewPage派生。

我使用ASP.Net MVC 5剃刀訪問量

+0

[該視圖必須來自WebViewPage或WebViewPage 。](http://stackoverflow.com/questions/8127462/the-view-must-derive-from-webviewpage-or-webviewpagetmodel) – Dai

回答

0

我發現,Razor視圖引擎在文件夾中「查看/共享」,「查看/部門」搜索。當我將部分視圖移動到文件夾「共享」時,它就起作用了。 你不能包含路徑,你只需要給視圖名稱。並添加文件夾來搜索查看引擎。 我無法弄清楚的是「如何爲查看引擎提供更多搜索位置?」

+0

[這個答案](http://stackoverflow.com/questions/632964/can-i-specify-a-custom-location-to-search-for-views-in-asp-net-mvc) –

0

我想你會在你的MVC項目中使用T4MVC nuget包。將軟件包包含在項目中後,只需在項目(解決方案資源管理器)中選擇「T4MVC.tt」文件並說「運行自定義工具」即可。而已。這將爲您的MVC項目中的幾乎所有內容創建常量。這意味着,所有的視圖,控制器,動作,JavaScript文件,資源,CSS文件,圖像等現在都有常量。這種方式可以避免在視圖中使用硬編碼的字符串等,並可以使用生成的常量由T4MVC。您不需要擔心視圖的路徑等。T4MVC非常有效,並且必須用於MVC項目。

相關問題