首頁 >web前端 >js教程 >如何使用 Html.BeginCollectionItem 將動態新增的欄位正確綁定到模型?

如何使用 Html.BeginCollectionItem 將動態新增的欄位正確綁定到模型?

Barbara Streisand
Barbara Streisand原創
2024-12-05 16:13:11590瀏覽

How to Properly Bind Dynamically Added Fields to a Model Using Html.BeginCollectionItem?

使用Html.BeginCollectionItem 幫助器傳遞集合的部分視圖

問題

在使用Html.BeginCollectionItem 問題

在使用Html.BeginCollectionItem 問題

在使用Html.BeginCollectionItem 項目中,由幫助器的項目產生的新欄位是在表單提交期間不綁定到模型。此外,BeginCollectionItem 幫助程式沒有為新欄位呈現隱藏標籤。

1。建立視圖模型:

定義一個視圖模型(例如,CashRecipientVM)來表示要編輯的數據,並帶有適當的資料註解。

2.建立部分視圖:

使用 BeginCollectionItem 幫助器建立部分視圖 (_Recipient.cshtml),包括必要的標籤、文字方塊和刪除按鈕。

3 。實作傳回部分視圖的方法:

在控制器中實作傳回部分視圖的方法(例如 Recipient())。

4.更新 GET 方法:

在主視圖的 GET 方法中,建立視圖模型的初始清單。

5.更新主視圖:

在主視圖中,使用 foreach 循環顯示現有物件並使用 BeginCollectionItem 幫助器新增部分視圖。

6.實作用於新增專案的 JavaScript:

編寫 JavaScript,在按一下按鈕時將新視圖模型的 HTML 新增至表單。

7.實作用於刪除專案的 JavaScript:

編寫 JavaScript 以在按一下刪除按鈕時刪除項目,並向伺服器發出適當的 AJAX 請求。

8.更新 POST 方法:

更新表單以回傳到接收視圖模型集合的方法(例如,Create(IEnumerablerecipients))。

  • 附加說明:
  • 確保新增項目的腳本使用正確的收件人方法 URL。
使用資料註解來驗證客戶端的資料。 要提高效能,請考慮使用 knockout.js 或 MVVM框架而不是 JavaScript 進行資料綁定。

以上是如何使用 Html.BeginCollectionItem 將動態新增的欄位正確綁定到模型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn