欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jquery $.getJSON 与.NET 结合用法推荐

程序员文章站 2022-05-25 20:34:05
...
废话不多说,给出文件先:

Handler.ashx

代码

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Data;
using System.Text;
public class Handler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        /*context.Response.ContentType = "text/plain";
        string data = "[{name:\"fan\",age:26},{name:\"wang\",age:25}]";//构建的json数据
        context.Response.Write(data);*/

        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        dt.Columns.Add("name", typeof(string));
        dt.Columns.Add("year", typeof(string));
        dt.Columns.Add("avg", typeof(string));
        DataRow tr = dt.NewRow();
        tr["name"] = "张三";
        tr["year"] = "2005-02-02";
        tr["avg"] = "男";
        dt.Rows.Add(tr);
        //ds.Tables.Add(dt);
        DataRow tr2 = dt.NewRow();
        tr2["name"] = "李四";
        tr2["year"] = "2007-02-02";
        tr2["avg"] = "女";
        dt.Rows.Add(tr2);
        ds.Tables.Add(dt);



        context.Response.Clear();
        context.Response.ContentEncoding = Encoding.UTF8;
        context.Response.ContentType = "application/json";
        //Response.Write("{\"success\":true,\"name\":\"张三\",\"year\":\"2009-12-12\"}");
        context.Response.Write(getJSON(ds));
        context.Response.Flush();
        context.Response.End();
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }
    private static string getJSON(DataSet ds)//这里调用了JSON帮助文件,jsonHelp.cs 就不放出源码了
    {
        Json.JSONHelper jsonHelp = new Json.JSONHelper();

        jsonHelp.success = true;
        //jsonHelp.totlalCount = getPrjListCount();
        jsonHelp.totlalCount = ds.Tables[0].Rows.Count;

        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            jsonHelp.AddItem("name", dr["name"].ToString());
            jsonHelp.AddItem("avg", dr["avg"].ToString());

            if (dr["year"] != DBNull.Value)
            {
                jsonHelp.AddItem("year", Convert.ToDateTime(dr["year"]).ToString("yyyy/MM/dd"));
            }
            else
            {
                jsonHelp.AddItem("year", string.Empty);
            }

            jsonHelp.ItemOk();
        }

        string strResult = jsonHelp.ToString();
        return strResult;
    }
}

test.aspx

代码

 <script src="js/jquery.js" type="text/javascript" language="javascript"></script>
    <script type="text/javascript">
        $(function(){
            $.getJSON("Handler.ashx",function(json){
            $.each(json.data,function(i){$('#content').append("姓名:"+json.data[i].name+"----性别:"+json.data[i].avg+"----时间:"+json.data[i].year+"<br/>");});
            });
        });
    </script>
 
 
<body>
    <form id="form1" runat="server">
    <p id="content"></p>
    </form>
</body>

把Handler.ashx文件内容放入普通aspx文件page_load方法中同样适用

即$.getJSON("ssss.aspx"function(e){});

以上就是jquery $.getJSON 与.NET 结合用法推荐的详细内容,更多请关注其它相关文章!