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

废话不多说,给出文件先:

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">
    <div id="content"></div>
    </form>
</body>

 

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

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

http://www.cnblogs.com/shshshdy/archive/2010/05/18/1737921.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值