透過FormData 傳遞整個模型並在MVC 中接收它
在ASP.NET MVC 中,通常需要傳遞完整的模型物件透過表單傳遞給控制器。但是,簡單地將模型附加到 FormData 將導致它在控制器中作為字串接收,從而使其無法使用。
解:
有效地傳遞模型透過FormData,可以採用以下方法採用:
序列化模型:
利用jQuery 的FormData 函數序列化模型。這會將模型轉換為FormData 對象,其中可以包含模型屬性和檔案輸入:
var formdata = new FormData($('form').get(0));
發布FormData:
發送通過AJAX POST 的FormData物件請求:
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
在控制器中接收模型:
在控制器操作中,接受模型作為適當類型的參數:
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
可選:處理額外的屬性:
如果模型不包含其他表單資料的屬性,您可以手動附加它們:
formdata.append('someProperty', 'SomeValue');
按照以下步驟,您可以有效地通過FormData建立一個模型,並以可用的格式在 MVC 控制器中接收它。
以上是如何透過 FormData 將完整模型傳遞到 ASP.NET MVC 控制器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!