私はカスタムヘルパーメソッドを使用して部分的なビューを表示しようとしています。唯一の問題は、私はこの構文の問題を乗り越えることができないということです。このcshtmlファイルのモデルセットは、Operationとして定義したモデルのIEnumerableコレクションです。私はこれが簡単な修正だと確信しています。ここで私が見ているものの例です:構文問題 - 面倒な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
これは前のエラーと関連していると仮定しています。誰かが私のための提案をしているなら、助けてください。
'RenderPartial'の代わりに' Partial'を使うようにしてください – lucask
あなたのコードは正しく見えます。 Visual Studioを再起動してみてください。このような多くの異常を修正することが知られています。 –
両方のご意見ありがとうございます。私はそれらを試しましたが、私はまだ同じエラーが表示されます。私は問題の心配が2番目のエラーメッセージにあると思います:オブジェクトにvoid型を暗黙的に変換できません –