2

MVC4 を使用して Web アプリケーションを開発しています。UIにHandsOnTableがあります。jsonを使用してデータをバインドしようとしましたが、できません。エラーを表示しません。ここにコードスニペットがあります

$.ajax({
            url: "/Customer/GetSpreadSheetGrid",
            type: "GET",
            dataType: "json",
            data: { customerId: customerID }
        })
            .success(function (result) {
    var vSpreadSheet = document.getElementById("SpreadSheetgrid");
        $("#SpreadSheetgrid").handsontable("loadData", result);
    })
    .fail(function (r, o) {
        alert("Failed : " + r.responseText);
    });
    }

ここに私のコントローラーメソッドがあります

public JsonResult GetSpreadSheetGrid(int customerId)
    {
IEnumerable<tblCustomerSpreadsheetInfo> resResult = null;
// Calling SP
resResult = _customer.GetCustomerCustomInfoByCustomerID(customerId);
return Json(resResult, JsonRequestBehavior.AllowGet);
    }

このコードの間違いは何ですか。

4

2 に答える 2

3
<div id="dataTable" class="dataTable"></div>    
$("#dataTable").handsontable({
       rows: 6,
       cols: 8,
       contextMenu: true,
       colHeaders: true
    });
    var url = "/Home/GridData";
    $.get(url, null, function (data) {
    $("#dataTable").handsontable("loadData", data);
    strong text});

これは HomeController のメソッドです

public JsonResult GridData()
        {
            var jsonData = new[]
                         {
                             new[] {"1", "4", "Is this a good question?"},
                             new[] {"2", "5", "Yes."},
                             new[] {"3", "6", "It is!"}
                        };

            return Json(jsonData, JsonRequestBehavior.AllowGet);
        }

このコードでコントローラーメソッドをハンドソンテーブルにバインドすることができました。しかし、データを取得して string[][] としてコントローラーメソッドに渡すのに本当に苦労しています。

于 2012-10-09T13:13:26.977 に答える
0

jquery ajax を次のように変更します (成功関数と失敗関数の両方にデバッガーを保持します。IE と Visual Studio を使用してデバッグします。エラーがあれば、そこに表示されます。

$.ajax({
        url: "/Customer/GetSpreadSheetGrid",
        type: "GET",
        data: { customerId: customerID },
        contentType: "application/json; charset=utf-8",
        success: function (_results) {
             debugger;
            var vSpreadSheet = document.getElementById("SpreadSheetgrid");
            $("#SpreadSheetgrid").handsontable("loadData", result);
        },
        error: function (_results, status) {
            debugger;
        }
    });
于 2012-10-09T09:23:42.200 に答える