將HTML表格轉換為ADO.NET DataTable
將HTML表格值發佈到ADO.NET DataTable,關鍵在於確保HTML控件名稱與模型屬性相對應。
更正HTML控件以進行表單提交
當前的HTML標記生成的控件名稱不正確,這阻礙了與模型的數據綁定。為了正確綁定,控件名稱必須與模型的屬性對齊。對於第一行,不應該使用“item.LeaveType”,而應該使用“LeaveDetailsList[0].LeaveType”,對於第二行,應該使用“LeaveDetailsList[1].LeaveType”,以此類推。
修改HTML代碼
為了實現這一點,如果集合實現了IList
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中文網其他相關文章!