我在后台程序中把我的数据库表里面所有的信息都读出来;我返回的是一个泛型;
1、我想用AJAX读出这些数据;
2、AJAX读出来后,怎么用JS接收;
3、怎么把JS接受好了的数据做为数据源(可能不是数据源吧)传给前台页面绑定的地方(可能是repeater或是DATALIST)
1、我想用AJAX读出这些数据;
2、AJAX读出来后,怎么用JS接收;
3、怎么把JS接受好了的数据做为数据源(可能不是数据源吧)传给前台页面绑定的地方(可能是repeater或是DATALIST)
解决方案 »
- 关于NHibernate的问题
- IHttpHandler的一个问题
- 多条件查询,并非stringbuilder.append 拼接字符串。每次点击都出现查询结果并记录其它值
- NND。这是啥病毒呀。。
- AspNetImage (高质量缩略图水印组件)
- 那个大哥能知道这个是什么意思啊?
- DataList只显示偶数行的内容是怎么回事?我的设置不对么?
- 因为地域语言的关系日期格式变为日/月/年,这种格式插不到数据库里
- 求javascrippt正则表达式:取出<font color='#00000'>text</font>中的text
- 散分
- 一个SQL SERVER的问题! 两贴一起结,在线等!
- repeater无刷新分页,任务栏还是滚动
http://dotnet.aspx.cc/article/d94323a7-e322-4ead-9f25-6e6629c8012e/read.aspx
2.0的去下个Newtonsoft.Json.dll
我对AJAX只是了解个皮毛而已;不知道这个JSON要怎么用啊,能给我一个详细点的例子吗?
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url:"Handler.ashx",
type:"get",
dataType:"json",
success:function(result){
$.each(result,function(i){
$("body").append("ID:"+result[i].ID+" Name:"+result[i].Name+"<br/>");
})
}
})
})
</script>
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string[] name = { "zhangsan", "lisi", "wangwu" };
System.Collections.Generic.IList<Model> ilist = new System.Collections.Generic.List<Model>();
for (int i = 0; i < name.Length; i++)
{
Model model = new Model();
model.ID = i + 1;
model.Name = name[i];
ilist.Add(model);
}
//如果是2.0的去下个Newtonsoft.Json.dll如果是3.0的里面有自带的JavaScriptSerializer或DataContractJsonSerializer
string json = Newtonsoft.Json.JavaScriptConvert.SerializeObject(ilist);
context.Response.Write(json);
}
public class Model
{
private int iD; public int ID
{
get { return iD; }
set { iD = value; }
}
private string name; public string Name
{
get { return name; }
set { name = value; }
}
}
哦,那我这个读出来JS接收后,我怎么把它做为一个数据源传给REPEATER呢
<title>无标题页</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url:"Handler.ashx",
type:"get",
dataType:"json",
success:function(result){
$.each(result,function(i){
$("#zz").append("<tr><td>"+result[i].ID+"</td><td>"+result[i].Name+"</td></tr>");
})
}
})
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table id="zz">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%#Eval("ID") %>
</td>
<td>
<%#Eval("Name") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table></FooterTemplate>
</asp:Repeater>
</div>
</form>
</body>
2.前台通过ajax请求获得数据
3.得到数据后再用js操作dom,显示数据。(这里就不能用服务器控件了)http://blog.csdn.net/bestdowt1314/archive/2009/08/17/4457298.aspx
可以看下这里的实例
repeater
生成的数据是很干净的 楼主 既然想用ajax的话 那么就把返回的数据在后台拼接好就是·
前台直接加到容器里面·
//如果是2.0的去下个Newtonsoft.Json.dll如果是3.0的里面有自带的JavaScriptSerializer或DataContractJsonSerializer
string json = Newtonsoft.Json.JavaScriptConvert.SerializeObject(ilist);上面这句话,写在里面后会找不到命名空间啊,还有就是Json到底是什么命名空间啊
<HeaderTemplate>
<ul id="zz">
</HeaderTemplate>
<ItemTemplate>
<li>
<div class="screnInproOne">
<a href="#">
<img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
<a href="#">
<%# Eval("LName")%></a></p>
</div>
<div class="screnInproOne">
<a href="#">
<img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
<a href="#">
<%# Eval("lName")%></a></p>
</div>
<div class="screnInproOne">
<a href="#">
<img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
<a href="#">
<%# Eval("lName")%></a></p>
</div>
<div class="screnInproOne">
<a href="#">
<img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
<a href="#">
<%# Eval("lName")%></a></p>
</div>
</li>
</ItemTemplate>
</asp:DataList>上面是我要绑定的代码;而且我在一般处理程序里面也写好了; 代码如下:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class ZjLine : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
List<LineZj> lst = new List<LineZj>();
string sqlSelect = "select l.LineInfoId,l.lineTitle,l.HistoryImage from lineInfo as l inner join Category as c on l.CategoryId=c.CategoryId where isSearch='True' and isEffect='True' and CategoryName='自驾游' ";
SqlDataReader dr = DbSqlHelper.ExecuteReader(sqlSelect);
while (dr.Read())
{
LineZj zj = new LineZj();
zj.LName = dr["lineTitle"].ToString();
zj.ImgUrl = dr["HistoryImage"].ToString();
lst.Add(zj);
}
dr.Close();
JavaScriptSerializer ser = new JavaScriptSerializer();
context.Response.Write(ser.Serialize(lst));
}
}
可是我现在不知道前台怎么接收;JSON啊,各位请帮我看看,以我HTML里面这样的写,前台要怎么接受啊
<script language="javascript">
var sug = {q:"张",p:false,s:["张杰","张敬轩","张翰","张柏芝","张馨予","张芸京","张靓颖","张静初","张杰谢娜","张韶涵"]};
window.onload = function () {
alert(sug["s"][1]); //张敬轩"
}
</script>