1

以下の形式のような JSON オブジェクトを取得します。各形式には異なるプロパティ/キーが含まれています。つまり、これらのプロパティ/キーは動的です。

var SelectedRows=   [
            {"id":"1","name":"jhon","phone":"6699"},
            {"id":"2","name":"Aron","phone":"7799"},
            {"id":"3","name":"Iyan","phone":"8899"},
        ]

var SelectedRows=   [
            {"id":"1","fname":"jhon","lname":"6699"},
            {"id":"2","fname":"Aron","lname":"7799"},
            {"id":"3","fname":"Iyan","lname":"8899"},
        ]

var SelectedRows=   [
        {"id":"1","fname":"jhon","lname":"6699"},
        {"id":"2","fname":"Aron","lname":"7799"},
        {"id":"3","fname":"Iyan","lname":"8899"},
        ]

AJAX post 呼び出しを使用してデータを投稿します。

$.ajax({
    url: "@Url.Action("Export", "Export")",
    type: "POST",
    data: JSON.stringify(SelectedRows),
    success: function(result) {}
});​

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

[HttpPost]
public ActionResult Export(**what type to specify here**)
{

}

私が言ったように、プロパティ/キーは動的であるため、ここでは強力な型モデルを使用できません。アクション メソッドのパラメーターのジェネリック型を指定する必要があります。

私はそれが可能ではないですか?はいの場合、どうすればよいですか?

4

3 に答える 3

0

タイプのようにdynamic聞こえるかもしれません。詳細な投稿はここにあります。

于 2013-01-02T11:24:28.010 に答える
0
[HttpPost]
public ActionResult Export(FormCollection collection)
{

}

FormCollectionに関する詳細情報。

于 2013-01-02T12:16:16.497 に答える
0

これが私がやった方法です。

$.ajax({
    url: "@Url.Action("Export", "Export")",
    type: "POST",
    data: JSON.stringify(SelectedRows),
  **contentType: "application/json; charset=utf-8",**
    success: function(result) {}
});​

データの投稿時にアプリケーションのcontentTypeを指定し、動的タイプのリスト値を受け取る必要があります。

[HttpPost]
public ActionResult Export(**List<dynamic>** SelectedRows)
{

}
于 2013-01-07T07:31:18.310 に答える