首页 >后端开发 >C++ >如何通过模型绑定正确地将HTML表数据映射到ADO.NET DATATATATE?

如何通过模型绑定正确地将HTML表数据映射到ADO.NET DATATATATE?

Susan Sarandon
Susan Sarandon原创
2025-02-03 08:01:10911浏览

How to Correctly Map HTML Table Data to an ADO.NET DataTable via Model Binding?

将HTML表格转换为ADO.NET DataTable

将HTML表格值发布到ADO.NET DataTable,关键在于确保HTML控件名称与模型属性相对应。

更正HTML控件以进行表单提交

当前的HTML标记生成的控件名称不正确,这阻碍了与模型的数据绑定。为了正确绑定,控件名称必须与模型的属性对齐。对于第一行,不应该使用“item.LeaveType”,而应该使用“LeaveDetailsList[0].LeaveType”,对于第二行,应该使用“LeaveDetailsList[1].LeaveType”,以此类推。

修改HTML代码

为了实现这一点,如果集合实现了IList,您可以使用for循环,或者为实现IEnumerable的集合实现自定义EditorTemplate。

For循环方法:

<code class="language-csharp">for (int i = 0; i < ...; i++) {
    // 使用 LeaveDetailsList[i].LeaveType 等生成控件
}</code>

EditorTemplate方法:

创建 /Views/Shared/EditorTemplates/LeaveBalanceDetails.cshtml:

<code class="language-csharp">@model yourAssembly.LeaveBalanceDetails
<tr>
    <td>@Html.TextBoxFor(m => m.LeaveType)</td>
    ....
</tr></code>

在主视图中:

<code class="language-csharp"><table>
    .... // 添加表头
    <tbody>
        @Html.EditorFor(m => m.LeaveDetailsList)
    </tbody>
</table></code>

控制器代码

最后,在控制器的Edit方法中:

<code class="language-csharp">public ActionResult Edit(LeaveBalanceViewModel model)
{
    // 迭代 model.LeaveDetailsList 并保存项目
}</code>

以上是如何通过模型绑定正确地将HTML表数据映射到ADO.NET DATATATATE?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn