using System.Web; using System.Text;ハンドラー : IHttpHandler {"/> using System.Web; using System.Text;ハンドラー : IHttpHandler {">
ホームページ >ウェブフロントエンド >jsチュートリアル >jquery $.getJSON と .NET の組み合わせの推奨使用法
早速、最初にファイルを指定しましょう:
Handler.ashx
code
<%@ 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
code
<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 に配置する場合にも当てはまります。 file page_load メソッド
つまり、 $.getJSON("ssss.aspx" function(e){});
以上がjquery $.getJSON と .NET の組み合わせの推奨使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。