65.9K
CodeProject 正在变化。 阅读更多。
Home

Json With Jquery MVC3

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2013 年 10 月 11 日

CPOL

1分钟阅读

viewsIcon

23221

大家好,我看到论坛里很多人都知道 Json,但也有很多人刚开始接触它,所以我创建了一个简单的示例。

大家好,

我看到论坛里很多人都知道 Json,但也有很多人刚开始接触它,所以我创建了一个简单的示例,展示了 Json 的工作原理,而且不仅仅是这样,通过这个示例,你可以看到 MVC3 默认提供的模型绑定器(Model Binder)是如何工作的,而在 MVC2 中,我们需要做一些额外的事情。

对于这个示例,你需要添加由 Douglas Crockford 创建的 Json2 库。

视图 (Jquery):

<script src="../../Scripts/json2.js" type="text/javascript"></script> 

 

<input type="button" onclick="javascript:JsonInAction()" value="Json" />

<div id="JsonResponse"></div>

<script language="javascript" type="text/javascript"> 

vardata = [{"lastName": "Orue", "firstName": "Esteban", "phones": [{ "type": "Mobile", "number": "(011) 4121-2121" },

{ "type": "Home", "number": "(011) 4123-4567"}]

},

{
"firstName": "Alejandro", "lastName": "Orue", "phones": [{ "type": "Mobile", "number": "(011) 4121-7777" },

{ "type": "Home", "number": "(011) 4121-9999"}]}];

 

functionJsonInAction() {

   $.ajax({

    url
'/Home/CollectJsonData',

    data: JSON.stringify(data),

    type'POST',

    contentType'application/json; charset=utf-8',

    dataType'json',

    successfunction(result) {

     vardivInsert = document.getElementById("JsonResponse");

     divInsert.innerHTML = result;

    },

    errorfunction () {  

   alert("error");

    }

   });

}

控制器 (Controller)

 public ActionResultCollectJsonData(列表<人员> person)

{

   returnJson(data: person[0].firstName.ToString());

}

模型

 public 人员

{

   public 字符串firstName {get; set; }

   public 字符串lastName {get; set; }

   public 列表<电话> phones {get; set; }

}

 public 电话

{

   public 字符串type {get; set; }

   public 字符串number {get; set; }

}

注意:在 ActionResult 中添加一个断点,你会看到有 2 个 Person,这就是模型绑定器的神奇之处,MVC3 通过模型绑定器知道你有一个 Person 类,并且在 post 请求中发送了 2 个 Person。

希望对你有帮助!

编码愉快,朋友们!!

© . All rights reserved.