私はasp.netのMVC-4 Webアプリケーション内の私の見解内側次のコードを持っている: - 今私が達成しようとしています何インデックスが範囲外です。負でなく、コレクションのサイズより小さくなければなりません。パラメータ名:インデックス
@model IList<TS.ViewModels.ACCOUNTLIST>
@for(int i2 = 0; i2 < (Model.Count() <= 0 ? 5 : Model.Count()); i2++) {
<div>
<span >@Html.DisplayFor(m => m[i2].ACCOUNTNAME) </span>@Html.EditorFor(m => m[i2].ACCOUNTNAME) </div>
<div>
<span >@Html.DisplayFor(m => m[i2].PASSWORD) </span>@Html.EditorFor(m => m[i2].PASSWORD) </div>
<div>
<span >@Html.DisplayFor(m => m[i2].NOTES) </span>@Html.EditorFor(m => m[i2].NOTES) </div>
}
があればフィールドの5つの空のセットを表示することですモデルは空です。そして、で、ケースモデルは、関連する日付を表示するためのデータが含まれている..しかし、私はビューをレンダリングし、渡されたモデルが空の場合、現在、私は次の例外を取得します: -
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
が、私はHtml.Display
とHtml.Editor
を使用している場合以下のように、私の見解はうまくいくでしょう: -
@for(int i2 = 0; i2 < (Model.Count() <= 0 ? 5 : Model.Count()); i2++) {
<div>
<span class="f">@Html.Display("["+i2.ToString()+"].ACCOUNTNAME") </span>@Html.Editor("["+i2.ToString()+"].ACCOUNTNAME")
<span class="f">@Html.Display("["+i2.ToString()+"].PASSWORD") </span>@Html.Editor("["+i2.ToString()+"].PASSWORD") </div>
}
だから誰でもこのようにしてください。私はなぜ私のケースでHtml.DisplayFor
& Html.EditorFor
を使用できないのですか?
の線に沿って何かを持っています0 '、あなたは 'm [0]'を求めるときに何が起こると思いますか? – AakashM
あなたの 'のための'は奇妙です - あなたはテナーリーの正しい真と偽の部分を持っていると確信していますか? –
@AakashMは空の入力とラベルをレンダリングするようになりました.Html.DisplayforとHtml.EditorforをHtml.Display&Html.Editorに置き換えると、正常に動作します。 –