ホームページ > バックエンド開発 > C++ > FormDataにモデルを追加し、MVCコントローラーのモデルとして受信する方法は?

FormDataにモデルを追加し、MVCコントローラーのモデルとして受信する方法は?

Patricia Arquette
リリース: 2025-02-02 21:56:10
オリジナル
997 人が閲覧しました

How to Append a Model to FormData and Receive it as a Model in an MVC Controller?

モデルをMVCのformdataに追加し、モデルとして受信

この記事は、FormDataを介して設定された完全なモデルを送信し、コントローラーのモデルアクセスとして使用する一般的な問題を解決するための完全なソリューションを提供します。

従来の方法は、モデルオブジェクトをformdataに文字列として追加することです。これにより、コントローラーに設定されたリクエストが「[オブジェクトオブジェクト]」を受信します。この制限を克服するために、より良い方法を使用できます:

formdata()シリアル化モデル

を使用します

formData()関数を使用して、モデルはFormDataに効果的にシリアル化できます。これにより、HTMLフォームを介してアップロードされたファイルが自動的に含まれます。

ajaxを使用してデータをリリースします
var formdata = new FormData($('form').get(0));
ログイン後にコピー

シリアル化されたモデルデータをコントローラーに公開するには、次のAJAXリクエストを使用してください。

コントローラー

でモデルを受信します
$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});
ログイン後にコピー
コントローラーでは、強力なタイプモデルパラメーターを使用してシリアル化されたモデルデータを受信できます。

または、モデルにhttppostedfilebaseが含まれていない場合は、次の変更を検討してください。

追加の属性を含む

[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
}
ログイン後にコピー

フォームのコンテンツ以外の他の情報を含める必要がある場合は、次の文法を使用して属性を効果的に追加できます。

[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
}
ログイン後にコピー
これらのテクノロジーを通じて、モデルデータをFormDataにシームレスに追加できるため、コントローラーの操作方法でモデルタイプとして送信すると便利です。

以上がFormDataにモデルを追加し、MVCコントローラーのモデルとして受信する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート