2011-09-14 5 views
2

私はモデルMyObjectにを持っているし、次にビューで、私はmvcのIEnumerable <MyObject>を更新するには?

@model IEnumerable<MyProject.Models.MyObject> 

を持っているし、さらに形ダウン:

@using(Html.BeginForm()) 
{ 
    @foreach(MyObject m in Model) 
    { 
     @Html.TextboxFor(x => x.Name) 
    } 
} 

<input type="submit" value="modify" /> 

私はこのような私のコントローラでこれを取得しようとしています:

[HttpPost] 
public void Update(MyObject _myOject) 
{ 
} 

ソースコードが表示されると、すべての名前が繰り返し表示され、_myObjectには正しく入力されません。

MVCでオブジェクトのリストを更新して一度にすべて保存するにはどうすればよいですか?

答えて

3

アクションメソッドは、_myObjectという名前の単一のパラメータを待機しています。

@using(Html.BeginForm(......)) 
{ 
    int i = 0; 
    foreach(MyObject m in Model) 
    { 
     @Html.TextBox(string.Format("_myObjects[{0}].Name", i), m.Name) 
     i++; 
    } 

    <input type="submit" value="modify" /> 
} 

とあなたのアクションメソッドは、そのようになります。:

[HttpPost] 
public void Update(IList<MyObject> _myObjects) 
{ 
} 

、あなたは時にこのリストを更新することができるようになりますそして、あなたはこのような何かをしようとするオブジェクト

のリストを更新します1回

関連する問題