• 转:关于ASP.NET下,JQuery+AJAX使用JSON返回数据的总结


     昨天第一次开始使用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<zen_tag> zentag = new List<zen_tag>();
                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();
            }
        }
    }

    魔兽就是毒瘤,大家千万不要玩。
  • 相关阅读:
    ASP中使用事务控制
    C语言学习笔记——两个数交换位置的多种方式
    PHP字符串函数
    PHP笔记——文件处理
    算法——穿越沙漠算法
    C学习笔记——使用CL编译器
    Wordpress——一些内部参数记录
    C语言笔记——原码、反码、补码
    C学习笔记——内存
    Linux VI编辑器命令集合
  • 原文地址:https://www.cnblogs.com/tracy/p/1762610.html
Copyright © 2020-2023  润新知