首頁 >web前端 >js教程 >MVC中如何透過表單資料傳遞整個模型物件?

MVC中如何透過表單資料傳遞整個模型物件?

Barbara Streisand
Barbara Streisand原創
2024-12-20 03:54:10734瀏覽

How to Pass Entire Model Objects via Form Data in MVC?

從MVC 中的表單資料取得整個模型物件

透過表單資料傳遞整個模型物件時,必須確保它們正確轉換回控制器中的模型類型。以下是如何實現這一點:

JavaScript 實作:

利用FormData 序列化整個模型,而不是手動附加單一屬性:

var formdata = new FormData($('form').get(0));

這也包括表單中存在的任何文件輸入。

Ajax請求:

使用Ajax 發布表單數據,停用自動處理和內容類型設定:

$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});

控制器操作:

在控制器中,定義一個接受模型作為參數:

[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
    // Perform operations on the model...
}

或者,如果模型包含檔案輸入,則第二個參數應該是檔案屬性的HttpPostedFileBase:

[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
    // Handle file and perform operations on the model...
}

其他資料附錄:

如果需要,可以將其他屬性附加到表單資料中使用:

formdata.append('someProperty', 'SomeValue');

以上是MVC中如何透過表單資料傳遞整個模型物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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