我使用MVC 4,想整理一下我的看法了一點,所以決定創建多個局部視圖和渲染過程中把他們聚在一起。MVC4使用嵌套@ Html.RenderPartial()拋出編譯器錯誤信息:CS1502
這個工作原理當正在呈現的視圖有少數@Html.RenderPartial('path\to\my\partialView.cshtml')
但如果這個partialView.cshtml反過來有其他@Html.RenderPartial('path\to\my\otherPartialView.cshtml')
裏面定義的失敗。
我得到這樣的錯誤使用任何的RenderPartial或部分方法
error CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
error CS1503: Argument 1: cannot convert from 'void' to 'System.Web.WebPages.HelperResult'
是否有MVC4的方式,我們可以將整理我的大視標記文件?即試圖用其他部分視圖漸進地組成部分視圖。
編輯
只是爲了讓更多的細節。
我的移動視圖看起來是這樣的:
文件:ManageLoads.Mobile.cshtml
位置:視圖 - > Shipper-> ManageLoads
這個觀點裏面我有這樣的代碼:
<div id="landingPage" ng-show="MenuSelection=='DefaultPage'">
@Html.Partial("~/Views/Shipper/_DashboardPartial.cshtml")
<div class='message {{MessageClass}}'>
<i class='{{MessageIcon}}'></i>
<p>{{Message}}</p>
</div>
</div>
這部分沒有問題,工作正常。現在在_DashboardPartial.cshtml裏面,如果我有另一個局部視圖的引用,它會失敗。
<div id="warehouseSelection" ng-show="getStep()==1">
{@Html.RenderPartial("~/Views/Shipper/mobilePartials/_MyWarehouse.cshtml");}
</div>
此休息並引發錯誤,但如果我複製粘貼「_MyWarehouse.cshtml」裏面就有的內容,它開始重新工作。我已經驗證了_MyWarehouse.cshtml的路徑是正確的,所以我懷疑它與導致問題的RenderPartial方法的嵌套有關。
問候 基蘭
你讓我的一天!在過去的幾天裏,我一直在努力解決這個問題,卻不知道發生了什麼。問題出在@置於{}內的錯誤位置。謝謝 – Kiran