2011-09-14 21 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) 
{ 
} 

,那麼你就可以在更新這份名單曾經

相關問題