0

目前正在对 MVC 方法进行 jQuery ajax 调用,并以以下格式从 Controller 发送数据:

["UserInfo ID","User ID"]

控制器代码:

     var autoSuggestlist;
      ........
      .
     return Json(autoSuggestlist, JsonRequestBehavior.AllowGet);

现在我想添加另一个不同的数据,例如:

[ {"editable":true,"edittype":"integer","index":"userInfoId" ]

我如何在 Controller 中将这两种不同的数据发送到 jQuery Ajax

在下面的代码中

$.ajax(
        {
            type: "GET",
            url: "/Home/GetColumnNamesForGrid",
            data: "",
            dataType: "json",
            async: false,
            success: function (result) {

结果应该让我得到上面的 JSON 数据。我需要如何修改我的控制器代码。请协助

谢谢

4

1 回答 1

1

不确定你的意思,但如果你想从控制器发送一个带有属性的对象,你可以这样做:

return Json(new { editable = true, edittype = "integer", index = "userInfoId" }, JsonRequestBehavior.AllowGet);

然后从javascript中,您的result对象可以按如下方式使用:

var editable = result.editable;//will be true

如果您实际上想同时将两种数据类型发回,则创建一个包装器对象,如下所示:

var myObject = new { editable = true, edittype = "integer", index = "userInfoId" };
var myArray = autoSuggestlist;

return Json(new { @myObject = myObject, @myArray = myArray}, JsonRequestBehavior.AllowGet);

然后像这样在javascript中使用:

var myObject = result.myObject;
var editable = myObject.editable;//will be true

var myArray = result.myArray;
var firstItem = myArray[0];//will be "UserInfo ID"
于 2013-03-14T12:08:24.563 回答