废话不多说,给出文件先:
Handler.ashx
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
<%
@ 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;
}
}
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
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
<
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>
< 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>
<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