首頁 > 後端開發 > C++ > 如何通過模型綁定正確地將HTML表數據映射到ADO.NET DATATATATE?

如何通過模型綁定正確地將HTML表數據映射到ADO.NET DATATATATE?

Susan Sarandon
發布: 2025-02-03 08:01:10
原創
906 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板