0

私のアヤックス:

$.ajax({
                            url: '/Extensions/Sample',
                            type: 'GET',
                            async: false,
                            dataType: 'text',
                            processData: false,
                            //contentType: 'application/json; charset=utf-8',
                            data: "extension=" + JSON.stringify(newextension),
                            success: function (data) {
                                alert("Success");
                            }
                        }).error(function (jqXHR, textStatus, errorThrown) {
                            alert(jqXHR.status);
                            alert(jqXHR.responseText);
                            alert(errorThrown);
                        });

私のコントローラー:

 public ActionResult Sample(Extension extension)
    {           
        return PartialView(extension);
    }

私のモデル:

 public class Extension
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Number { get; set; }
}

私のJson:

 newextension = [{
                        'Name': 'User1',
                        'Number': '101'
                    },
                    {
                        'Name': 'User2',
                        'Number': '102'
                    },
                    {
                        'Name': 'User3',
                        'Number': '103'
                    }];

エラーは、オブジェクト参照がオブジェクトのインスタンスに設定されていません。どこが間違いで、どうすればこの問題を解決できますか。どんな助けでも..

4

2 に答える 2

0

返された JSON とパラメーターが一致しないため、オブジェクトが初期化されないため、モデルIdでクラスのプロパティを削除するExtensionか、JSON に を追加します。Id

更新:送信している JSON はリストなのでList<Extension> extension、パラメーターとして使用する必要があると思います

于 2013-10-10T10:29:51.633 に答える
0

スタックトレースを入れていただけると助かります。ここで見られる問題の 1 つは、Sample へのパラメーターが Extension 型のオブジェクトであるのに対し、json にはそれらのオブジェクトの配列があることです。私の推測では、この場合、拡張パラメーターは null になり、NullReferenceException が発生します。

考えられる 1 つの方法は、署名を次のようにすることです。

public ActionResult Sample(Extension[] extension)
    {           
        return PartialView(extension);
    }

しかし、配列を受け取ったときに PartialView がどうなるかはわかりません。

于 2013-10-10T10:44:01.620 に答える