2013-03-14 111 views
0

目前正在制作一个jQuery调用Ajax MVC方法,并在下面的格式从控制器发送数据:发送JSON数据在MVC

["UserInfo ID","User ID"] 

控制器代码:

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

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

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

我怎么能在控制器发送这些2个不同的DATAS jQuery的阿贾克斯

在下面的代码

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

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

感谢

回答

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" 
+0

我想在派2班同一时间。可能吗 ? – user2067567 2013-03-14 12:10:26

+0

是的,你可以。但您需要创建包含两个类数据的ViewModel。 – 2013-03-14 12:11:25

+0

@ user2067567:查看我的编辑 – musefan 2013-03-14 12:12:18