json前台解析list<实体>问题

yang56800058 2012-04-25 01:25:48
$.ajax({
type: "POST",
contentType: "application/json",
url: "gorg.aspx/select",
data: "{time:'" + date + "',grogid:'" + parastr + "'}",
dataType: 'json',
success: function (list) {
$(list.d).each(function () {
//alert(list.id, function (i, item) {
//alert(list.Id);
//$('#id1').append(this.toString() + " ");
//alert(list.d.join(" | ").grogid);
});

// jQuery.each(list.time, function (i, item) {
// alert(item.time + "," + item.grogid);
// });
}
});
...全文
317 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang56800058 2012-04-25
  • 打赏
  • 举报
回复
你这个是按照我前台的一些数据写出来的吧.把你后台代码也写在前台上了 是完整的一套了是吧 .谢谢了 我知道怎么做了
孟子E章 2012-04-25
  • 打赏
  • 举报
回复
是自定义的
完整的例子,可以直接拷贝粘贴运行的,。需要.net 3.5之后的版本
<%@ Page Language="C#" EnableViewState="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$.ajax({
type: "POST",
contentType: "application/json",
url: "b.aspx/select",/* 对应后台的方法 */
data: "{time:'传入参数1',grogid:'传入参数2'}",
dataType: 'json',
success: function (list) {
jsonData = jQuery.parseJSON(list.d);
var t = "<table border='1'>";
$(jsonData).each(function (i, item) {
t += "<tr>";
t += "<td>" + item.Name + "</td>";
t += "<td>" + item.Url + "</td>";
t += "</tr>";
});
t += "</table>";
$("#div2").html(t);
},
error: function (err) {
alert(err.responseText)
}
});
</script>
</head>
<script runat="server">
//定义例子实体类
// <summary>
/// 类对象需要标记为DataContractAttribute
/// </summary>
[System.Runtime.Serialization.DataContract]
public class MengxianHui
{
//成员需要标记为 DataMember
[System.Runtime.Serialization.DataMember]
public string Name { set; get; }
[System.Runtime.Serialization.DataMember]
public string Url { set; get; }
}

public static string ObjectToJson(object obj)
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
serializer.WriteObject(ms, obj);
StringBuilder sb = new StringBuilder();
sb.Append(Encoding.UTF8.GetString(ms.ToArray()));
return sb.ToString();
}
}
[System.Web.Services.WebMethod]
public static string select(string time, string grogid)
{
//构造实体类集合
List<MengxianHui> l = new List<MengxianHui>();
l.Add(new MengxianHui() { Name = "aaa" + time, Url = "ccc" + grogid });
l.Add(new MengxianHui() { Name = "测试Name", Url = "测试 Url" });
return ObjectToJson(l);
}

protected void Page_Load(object sender, EventArgs e)
{

}
</script>
<body>
<form id="form1" runat="server">
<div id="div2"></div>
</form>
</body>
</html>
yang56800058 2012-04-25
  • 打赏
  • 举报
回复
谢谢,请问这个t是不是自定义的一个var? 我先运行看看是否可以了啊
孟子E章 2012-04-25
  • 打赏
  • 举报
回复
success: function (list) {
data = jQuery.parseJSON(list.d); /*这里是否解析要看后台返回的数据格式,如果不返回表名则无需要 parseJSON */
t = "<table border='1'>";
$.each( function (i, item) {
t += "<tr>";
t += "<td>" + item.UserId + "</td>";
t += "<td>" + item.UserName + "</td>";
t += "</tr>";
})
t += "</table>";
$("#result").html(t);
}
yang56800058 2012-04-25
  • 打赏
  • 举报
回复
list里面就是一个实体类 我要解析到前台用table显示出来所以的数据
001007009 2012-04-25
  • 打赏
  • 举报
回复
什么问题?
list返回的什么内容,楼主要实现什么效果?

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧