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>