您的位置:首页 > Web前端 > JQuery

关于ASP.NET下,JQuery+AJAX使用JSON返回对象集合List数据的总结

2013-03-25 15:26 1326 查看
昨天第一次开始使用JQuery框架,并用其AJAX方法练习了一个最简单的例子。下班前想使用一下JSON来传输数据。在网上查找资料后,整理如下:

ASP.NET 3.5已支持JSON了,在其扩展中System.Web.Extensions.dll。

using System.Web.Script.Serialization;首先引用该命名空间!该命名空间内的Serialize()方法可以实现将数据对象序列化为JSON格式。

举例,如果我现在有个实体类Object 或数组 arrayinfo 需要序列化为JSON格式,那么只需要调用Serialize()方法即可。伪代码如下:

using System.Web.Script.Serialization;

JavaScriptSerializer serializer = new JavaScriptSerializer();
string jsonStr = serializer.Serialize(Object);


jsonStr内的就是已经序列化好了的数据。直接返回就可以了。JQuery接到返回的数据后可以直接以msg[0].name来访问里面的属性值。

现将部分代码贴出:

AJAX请求页面 tagmanagement.aspx

<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#btn_search").click(function() {
$.ajax({
url: "processpage.aspx",
type: "GET",
dataType: "json",
data: "txt_search=" + escape($("#txt_search").val()),
success: function(data) {
alert(data[0].tag_name+"---"+data[0].count);
},
error: function() { alert("O No~~~"); }
});
});
});
</script>


Ajax响应处理页面 processpage.aspx.cs

using System.Web.Script.Serialization;
using ModelGroup.Model;

public partial class Admin_ProcessPage : System.Web.UI.Page
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
protected void Page_Load(object sender, EventArgs e)
{
string name = Request.QueryString["txt_search"].ToString();
if (name.Equals("aaa")) {
List zentag = new List();
zentag.Add(new zen_tag {
tag_id = 1,
tag_name = "Nicholas",
url_show = "Nicholas",
first_letter = "N",
count = 500,
create_time = "2009-10-10 10:10"
});
string jsonStr = serializer.Serialize(zentag);
Response.Clear();
Response.Write(jsonStr);
Response.End();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐