调用方法: function InitLink(obj) { $(obj).each(function(i){ var id=this.id; $.getJSON("FriendLinkHandler.ashx",{code:id},function(json){ $.each(json,function(index){ var url = json[index].Url; $("#"+id).attr("href",url); }); }); }); } FriendLinkHandler.ashx public class FriendLinkHandler : IHttpHandler { private IServiceMaintain admin = new ServiceMaintain(); public void ProcessRequest(HttpContext context) { string columnCode = context.Request.QueryString["code"]; context.Response.ContentType = "application/json"; try { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("name", typeof(string)); dt.Columns.Add("url", typeof(string)); //获取部门链接列表 IList<LinkDTO> dtos = admin.GetLinks(columnCode); foreach (var dto in dtos) { DataRow dr = dt.NewRow(); dr["name"] = dto.LinkName; dr["url"] = dto.LinkUrl; dt.Rows.Add(dr); } ds.Tables.Add(dt); context.Response.Write(GetJson(ds)); } catch (Exception ex) { throw new Exception(ex.Message); } context.Response.Flush(); context.Response.End(); } private string GetJson(DataSet ds) { JSONHelper json = new JSONHelper(); foreach (DataRow dr in ds.Tables[0].Rows) { json.AddItem("Name",dr["name"].ToString()); json.AddItem("Url",dr["url"].ToString()); json.ItemOk(); } return json.ToString(); } public bool IsReusable { get { return false; } } } JSONHelper.cs public class JSONHelper { protected ArrayList arrData = new ArrayList(); public JSONHelper() { } /// <summary> /// 添加值 /// </summary> /// <param name="name"></param> /// <param name="value"></param> public void AddItem(string name, string value) { arrData.Add("/"" + name + "/":" + "/"" + value + "/""); } /// <summary> /// 换行 /// </summary> public void ItemOk() { arrData.Add("<BR>"); } /// <summary> /// 序列化JSON对象,得到返回的JSON代码 /// </summary> /// <returns></returns> public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("["); int index = 0; sb.Append("{"); if (arrData.Count <= 0) { sb.Append("}]"); } else { foreach (string val in arrData) { index++; if (val != "<BR>") { sb.Append(val + ","); } else { sb = sb.Replace(",", "", sb.Length - 1, 1); sb.Append("},"); if (index < arrData.Count) { sb.Append("{"); } } } sb = sb.Replace(",", "", sb.Length - 1, 1); sb.Append("]"); } return sb.ToString(); } }