在视图中修改列表并发回控制器

本文关键字:并发 控制器 列表 修改 视图 | 更新日期: 2023-09-27 18:17:55

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

    ViewBag.UserList = userlist.ToList();
    return View ();

用户列表有以下3个字段:

姓,名,电话

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

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

在视图中修改列表并发回控制器

就像你说的,在视图中迭代列表,使用你想要修改的每个属性的TextboxFor()方法,添加一个提交按钮,在控制器动作中添加List<T> list来捕获更改,就这样了。

我假设这是一个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");
     }
}