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