首页 >后端开发 >C++ >如何将HTML表转换为用于数据库存储的ADO.NET DATATATATE?

如何将HTML表转换为用于数据库存储的ADO.NET DATATATATE?

Barbara Streisand
Barbara Streisand原创
2025-02-03 08:29:09679浏览

How to Convert an HTML Table to an ADO.NET DataTable for Database Storage?

将 HTML 表格转换为 ADO.NET DataTable

问题描述

您在视图中有一个 HTML 表格,需要将其转换为 ADO.NET DataTable 以将值保存到数据库。

详细说明

HTML 表格是使用 foreach 循环生成的,该循环创建带有输入字段的行。问题是这些输入字段的 name 属性与模型属性不匹配,而这对于在回发时绑定到模型是必需的。

解决方法

为了获得正确的 name 属性,您应该使用 for 循环(集合必须实现 IList)或使用自定义 EditorTemplate(集合只需要实现 IEnumerable)。

使用 for 循环:

<code class="language-csharp">for (int i = 0; i < Model.LeaveDetailsList.Count; i++)
{
    @Html.TextBoxFor(m => m.LeaveDetailsList[i].LeaveType)
    ....
}</code>

使用自定义 EditorTemplate:

EditorTemplate:

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

主视图:

<code class="language-csharp"><table>
    .... // 添加表头(最好在 <thead> 元素中)
    <tbody>
        @Html.EditorFor(m => m.LeaveDetailsList)
    </tbody>
</table></code>

控制器:

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

通过使用这些方法之一,您可以确保输入字段的 name 属性与模型属性匹配,从而能够在回发时绑定到模型并从 HTML 表格中提取值。

以上是如何将HTML表转换为用于数据库存储的ADO.NET DATATATATE?的详细内容。更多信息请关注PHP中文网其他相关文章!

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