我想使用自定義幫助器方法顯示部分視圖。唯一的問題是,我無法克服這個語法問題。爲這個cshtml文件設置的模型是我定義爲Operation的一個IEnumerable模型集合。我相信這是一個簡單的解決方法。下面是我所看到的例子:語法問題 - Razor MVC4
我的代碼塊:
@using(Html.BeginForm()) {
<div id="editor_rows">
@foreach (var item in Model){
Html.RenderPartial("OperationEditorRow", item);
}
</div>
}
這給了我以下運行時錯誤:
Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code.
但如果我刪除了@在foreach語句前面簽名,一切都被解釋爲純文本。於是,我就放置一個@的HTML面前如下:
@using(Html.BeginForm()) {
<div id="editor_rows">
@foreach (var item in Model){
@Html.RenderPartial("OperationEditorRow", item);
}
</div>
}
這回來了,說編譯錯誤:
Cannot implicitly convert type void to object
如果我要離開這兒的項目,我得到一個運行時錯誤說:
The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
我假設這是有關的前一個錯誤。如果有人對我有什麼建議,請幫忙。
嘗試使用'Partial'而不是'RenderPartial' – lucask
您的代碼看起來不錯。嘗試重新啓動Visual Studio。已經知道要解決這樣的一些異常現象。 –
感謝您的建議。我嘗試了他們,但我仍然看到相同的錯誤。我認爲問題的核心在於第二個錯誤消息:無法將類型void無意中轉換爲對象 –