2016-04-02 7 views
2

私はこのクラスを持っている正しいアプローチ

@Html.EditorFor(model => Model.Bars.ElementAt(1).Bar.Name) 

これは、Razor/Htmlヘルパーを使用する正しいアプローチですか? Bars [1]の値を変更してからcontrolllerに投稿すると、モデルの値が更新されますか?最後に、fooビューを使用して動的にバーを作成し、それらをfooのバーリストモデルに割り当てる方法はありますか?

+0

を参照し、動的にBar項目を追加および削除するには、あなたのコレクションに

の各項目について、正しいHTMLを生成します。最初のものを表示するにはEditorFor(m => m.Bars [0] .Name) 'を使用しますが、コレクション内のすべての項目を表示するには' for'ループまたは 'EditorTemplate'を使用してください –

答えて

1

すべてBar項目を表示(パラメータFoo modelとPOSTメソッドに提出することができ、その後、あなたは

for(int i = 0; i < Model.Bars.Count; i++) 
{ 
    @Html.TextBoxFor(m => m.Bars[i].Name) 
} 

または(より良いforループを必要とする)、typeof演算Bar

ため EditorTemplateを使用するには /Views/Shared/EditorTemplates/Bar.cshtml

@Model.Bar 
@Html.TextBoxFor(m => m.Name) 

とメインV IN

IEW

@Html.EditorFor(m => m.Bars) 

EditorFor()方法は、それは `@htmlにする必要があるPOST a form array without successfulSubmit same Partial View called multiple times data to controller?

+0

ありがとう – Rieth

関連する問題