如何更新mvc中的IEnumerable <myobject>?</myobject>

时间:2011-09-14 16:29:43

标签: asp.net-mvc list

我有模型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中?

1 个答案:

答案 0 :(得分: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)
{
}

然后您就可以立即更新此列表