微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更新批量数据的正确方法 ASP.NET MVC

如何解决更新批量数据的正确方法 ASP.NET MVC

说明

我有一个 ASP.NET MVC 应用程序,用户可以在其中更新表中显示的数据。该表有一列带有输入框,另一列带有复选框,可以在其中编辑和更新数据。

问题

我遇到的问题是当我编辑表格,然后将数据提交给Controller中的方法时,模型参数始终为空。希望下面的代码能更好地描述这个问题。

需要建议

该表可能有超过 1000 行。有没有办法检测已编辑行的更改,并只相应地更新更改的行,而不必更新所有记录?

车辆模型

public string VEHICLE_NAME { get; set; }
public string VEHICLE_MAKE { get; set; }
public string VEHICLE_MODEL { get; set; }
public Nullable<bool> IS_NEW { get; set; }

编辑控制器

[HttpPost]
public ActionResult UpdateTable(List<Vehicle> vehicle)  <==vehicle is always null 
{
  //left out for brevity
}

编辑视图

@using PagedList.Mvc;   <==imported asp.net paging namespace for the table
@model PagedList.IPagedList<Vehicle>


@using (Html.BeginForm("UpdateTable","Edit",FormMethod.Post))
{
<table>
        <thead>
            <tr>
                <th>Vehicle name</th>
                <th>Vehicle make</th>
                <th>Vehicle model</th>
                <th>Is New?</th>
            </tr>
        </thead>
       <tbody>
            @foreach (var item in Model)
            {
                <tr>
                    <td>@Html.displayFor(model => item.VEHICLE_NAME)</td>
                    <td>@Html.displayFor(model => item.VEHICLE_MAKE)</td>
                    <td>@Html.TextBoxFor(model => item.VEHICLE_MODEL)</td>
                    <td><input type="checkBox" name="chk" checked="@(item.IS_NEW)" /></td>
                </tr>

            }
        </tbody>
    </table>

    //submit button
    <input type="submit" value="Submit" />
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。