ホームページ > バックエンド開発 > C++ > JSON と jQuery を使用して複雑なオブジェクトの配列を ASP.NET MVC コントローラーにポストする方法

JSON と jQuery を使用して複雑なオブジェクトの配列を ASP.NET MVC コントローラーにポストする方法

Mary-Kate Olsen
リリース: 2025-01-02 20:25:38
オリジナル
915 人が閲覧しました

How to Post an Array of Complex Objects to an ASP.NET MVC Controller Using JSON and jQuery?

JSON と jQuery を含む複雑なオブジェクトの配列を ASP.NET MVC コントローラーにポストする

問題:

複雑なオブジェクトの配列を ASP.NET MVC に渡すにはどうすればよいですかコントローラー アクション、およびコントローラー アクションが受け入れる必要があるパラメーターは何ですか?

コントローラー アクション メソッド:

コントローラー アクション メソッドには、IList タイプのパラメーターが必要です。

クライアント側コード:

jQuery を使用して、オブジェクトの配列を JSON 文字列に変換し、正しいデータ型とコンテンツ タイプのヘッダーを持つ AJAX リクエストを介してコントローラーに送信します。

クライアント側コード - 強化:

JSON コンテンツをより適切に処理するには、 Json.NET ライブラリを使用し、JsonDataType を逆シリアル化する配列の型に設定します。これにより、ASP.NET MVC アクションが手動解析なしで逆シリアル化されたオブジェクトに直接バインドできるようになります。

ASP.NET MVC コントローラー アクションの装飾:

コントローラー アクションを次のように装飾します。 [JsonFilter] のようなカスタム属性は、受信した JSON リクエストをインターセプトし、正しいオブジェクトをアクションに逆シリアル化します。パラメータ.

JsonFilterAttribute コード:

public class JsonFilter : ActionFilterAttribute
{
    public string Param { get; set; }
    public Type JsonDataType { get; set; }
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.HttpContext.Request.ContentType.Contains("application/json"))
        {
            string inputContent;
            using (var sr = new StreamReader(filterContext.HttpContext.Request.InputStream))
            {
                inputContent = sr.ReadToEnd();
            }
            var result = JsonConvert.DeserializeObject(inputContent, JsonDataType);
            filterContext.ActionParameters[Param] = result;
        }
    }
}
ログイン後にコピー

以上がJSON と jQuery を使用して複雑なオブジェクトの配列を ASP.NET MVC コントローラーにポストする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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