在视图中修改列表并发送回Controller

时间:2011-12-15 21:06:03

标签: c# asp.net-mvc

我的控制器中有以下内容:

    ViewBag.UserList = userlist.ToList();

    return View ();

用户列表包含以下3个字段:

名字,姓氏,电话号码

如何在用户可以修改字段的视图中创建列表? 我很清楚使用foreach遍历列表但是如何编程修改记录的能力?

我还需要知道如何将此列表发送回控制器,以便我可以将记录插入到我的数据库中。

2 个答案:

答案 0 :(得分:1)

正如您所说,在视图中迭代列表,使用您要修改的每个属性的TextboxFor()方法,添加提交按钮,在控制器操作中添加List<T> list以捕获更改,你去吧。

答案 1 :(得分:0)

我认为这是一个web mvc项目,因为它标记为asp.net-mvc。

视图将呈现html。 html将包含(至少)一个表单,每个可编辑值的输入和一个提交按钮。最终标记看起来像这样

<form id="?" method="post" action="usercontroller/update">
    <input name="users.firstname[0]" value="john"/>
    <input name="users.lastname[0]" value="doe"/>
    <input name="users.phonenumber[0]" value="555-123-4567"/>
    <input name="users.firstname[1]" value="jane"/>
    <input name="users.lastname[1]" value="smith"/>
    <input name="users.phonenumber[1]" value="555-123-4567"/>
    <submit value="update"/>
</form>

在服务器上你有一个控制器

class UserController : BaseClassIfNecessary
{
     public ActionResult() Update(User[] users)
     {
          foreach user update database
          return RedirectAction("url");
     }
}