首頁 >web前端 >js教程 >如何在 ASP.NET MVC 中成功地將集合傳遞給部分視圖並處理資料提交?

如何在 ASP.NET MVC 中成功地將集合傳遞給部分視圖並處理資料提交?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-20 00:39:16919瀏覽

How to Successfully Pass a Collection to a Partial View and Handle Data Submission in ASP.NET MVC?

使用Html.BeginCollectionItem 幫助器傳遞集合的Partial View

這個問題探討了將物件集合傳遞給Partial 的問題查看並成功集合將資料提交回控制器。儘管實作看似正確,但 AddRecord() 方法失敗了,而且 BeginCollectionItem 幫助器沒有為新新增的欄位產生必要的隱藏標記。

問題分析

問題的根本原因在於控制器期望的物件類型與傳送的資料不符。在提供的程式碼中,視圖模型已變更為 CashRecipientVM,但控制器操作仍需要 CashRecipient 類型的模型。

解決方案

要解決此問題,採取了以下步驟:

  1. 建立Model (CashRecipientVM):

      建立了一個 CashRecipientVM 類別來表示要編輯的資料並包含驗證屬性。
  2. 部分視圖(_Recipient.cshtml):

      建立了部分視圖「_Recip. CashRecipientVM 實例。
    • BeginCollectionItem 幫助器用於綁定屬性並允許添加多個
  3. Recipient() 方法(在控制器中):Recipient() 方法(在控制器中):

    • Recipient()方法已新增至控制器傳回一個新的Partial ViewResult CashRecipientVM.
  4. 主要GET 方法(建立):

    • 主要GET 方法(建立):
  5. Create() GET 方法已更新為傳回CashRecipientVM的空白列表
  6. 主視圖:

    主視圖已更新為使用部分視圖cs html」顯示現有收件者並允許新增收件者
    Javascript:
  7. 新增了Javascript 函數來處理新增收件者和刪除現有收件者。

    jQuery 和不顯眼的客戶端驗證用於增強用戶體驗
更新表單POST 操作(建立):

更新表單POST 操作(建立):表單的POST 操作已更新以針對Create()操作,現在需要CashRecipientVM 的集合透過實施這些更改,應用程式現在成功綁定了CashRecipientVM 數據,允許動態添加和刪除收件人,並將數據正確提交到控制器。

以上是如何在 ASP.NET MVC 中成功地將集合傳遞給部分視圖並處理資料提交?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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