6

以下のようなjsonオブジェクトがあります

Extension = {
"BookMarks":
[{"Name":"User1","Number":"101"},
{"Name":"User2","Number":"102"},
{"Name":"User3","Number":"103"}]}

このjson文字列をコントローラーのアクションメソッドに送信し、データをデシリアライズしたい

部分ビューにデータを渡したい

 public ActionResult ExtensionsDialog(var data)
        {
            return PartialView(data); 
        }

事前に感謝..

4

5 に答える 5

0

スクリプトは次のようになります。

Extension = {"BookMarks":[{"Name":"User1","Number":"101"},{"Name":"User2","Number":"102"},{"Name":"User3","Number":"103"}]}
    $.ajax({
    url         :    "@Url.Action("ExtensionsDialog", "Controller")",
    contentType :    "application/json; charset=utf-8",
    dataType    :    "json",
    type        :    "POST",
    data        :      {"data" : Extension }
 });

アクション方法は同じです。

 public ActionResult ExtensionsDialog(var data)
    {
        return PartialView(data); 
    }
于 2013-10-10T11:03:47.433 に答える
0

次のような ajax 呼び出しを介してデータを渡すことができます。

$.ajax({
  url         :    "@Url.Action("YourMethod", "YourController")",
  contentType :    "application/json; charset=utf-8",
  dataType    :    "json",
  type        :    "POST",
  data        :    JSON.stringify({Extension: data})
}).done(function (result) {
  //Check if it's OK
}).fail(function (result) {
  //Check if it is not OK
}).always(function() {
  //Some code executed whatever success or fail
})

.done、必須ではありませんが、私の意見ではそれが優れています.fail.always

次に、行ったようにコントローラーで使用します。大丈夫なはずです。

于 2013-10-10T09:19:22.740 に答える
0

アクションを呼び出して、このように値を渡すことができます。あなたのデータを、データ セクションにあるデータに置き換えるだけです。

$.ajax({
                url: '/Schedule/Schedule/Create',
                type: 'POST',
                cache: false,
                datatype: JSON,
                data: {

                scheduleName: ScheduleName,
                description: Desc,
                Hol_Type: JSON.stringify(holidaytype),
                Start_Date: start_date,
                End_Date: end_date,
                Start_Time: StartTime,
                End_Time: EndTime,
                days: JSON.stringify(days),
                rec_type:1

            },
            success: function (data, status) {}});
于 2013-10-10T09:19:29.017 に答える