1

以下に示すように、ビューから ajax 投稿を試みました (jQuery を使用)。

ここで完全なソリューション

 $(document).ready(function () {
                var kk = {
                    Address1: "423 Judy Road",
                    Address2: "1001",
                    City: "New York",
                    State: "NY",
                    ZipCode: "10301",
                    Country: "USA"
                };
                console.log(JSON.stringify(kk));
                $.ajax({
                    url: 'Check',
                    type: 'POST',
                    data: JSON.stringify(kk),
                    dataType:"json",
                    contentType: 'application/json; charset=utf-8',
                    success: function (data) {
                        alert(data.success);
                    },
                    error: function () {
                        alert("error");
                    }
                });
            });

そしてそれをコントローラーで受け取りました(メソッドは常に呼び出されます)

public ActionResult Check(AddressInfo addressInfo)
        {
            return Json(new { success = true });
        } 

ここでモデル化しますが、オブジェクト ( ) のプロパティにアクセス (ブレークポイントをチェック) しようとすると、AddressInfo常にnull値が表示されました。文字列化せずに文字列化してみました。私は今MVCを学んでおり、初心者です。助けてください

4

4 に答える 4

1

これが機能しない理由は、ASP.NET MVC 2 を使用していて、JSON からのモデル バインディングのサポートが ASP.NET MVC 3 まで追加されなかったためです。

ただし、その機能を ASP.NET MVC 2 に追加することはできます。Phil Haackは、最後にサンプル コードへのリンクを含む、それを説明する投稿をしています。メソッド引数.aspx

于 2013-10-08T14:20:16.620 に答える