首頁 >web前端 >js教程 >如何透過 FormData 將完整模型傳遞到 ASP.NET MVC 控制器?

如何透過 FormData 將完整模型傳遞到 ASP.NET MVC 控制器?

Susan Sarandon
Susan Sarandon原創
2024-12-19 14:31:10615瀏覽

How to Pass a Complete Model via FormData to an ASP.NET MVC Controller?

透過FormData 傳遞整個模型並在MVC 中接收它

在ASP.NET MVC 中,通常需要傳遞完整的模型物件透過表單傳遞給控制器。但是,簡單地將模型附加到 FormData 將導致它在控制器中作為字串接收,從而使其無法使用。

解:

有效地傳遞模型透過FormData,可以採用以下方法採用:

  1. 序列化模型:
    利用jQuery 的FormData 函數序列化模型。這會將模型轉換為FormData 對象,其中可以包含模型屬性和檔案輸入:

    var formdata = new FormData($('form').get(0));
  2. 發布FormData:
    發送通過​​AJAX POST 的FormData物件請求:

    $.ajax({
      url: '@Url.Action("YourActionName", "YourControllerName")',
      type: 'POST',
      data: formdata,
      processData: false,
      contentType: false,  
    });
  3. 在控制器中接收模型:
    在控制器操作中,接受模型作為適當類型的參數:

    [HttpPost]
    public ActionResult YourActionName(YourModelType model)
    {
    }
  4. 可選:處理額外的屬性:
    如果模型不包含其他表單資料的屬性,您可以手動附加它們:

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

按照以下步驟,您可以有效地通過FormData建立一個模型,並以可用的格式在 MVC 控制器中接收它。

以上是如何透過 FormData 將完整模型傳遞到 ASP.NET MVC 控制器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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