使用jQuery AJAX将数据集绑定到ASP.Net Div标记
Iam在Div标记内绑定。现在Iam使用repeater内的dataset从db获取数据。每次页面加载从db获取数据时,我都希望避免这种情况。因此我决定使用Jquery ajax绑定dataset。我的问题是如何在Div标记内绑定dataset 我的代码是:使用jQuery AJAX将数据集绑定到ASP.Net Div标记,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,Iam在Div标记内绑定。现在Iam使用repeater内的dataset从db获取数据。每次页面加载从db获取数据时,我都希望避免这种情况。因此我决定使用Jquery ajax绑定dataset。我的问题是如何在Div标记内绑定dataset 我的代码是: <asp:Repeater ID="rep" runat="server" OnItemDataBound="rep_ItemDataBound"> <ItemTemplate>
<asp:Repeater ID="rep" runat="server"
OnItemDataBound="rep_ItemDataBound"> <ItemTemplate>
<div>
<p><%#Eval("message") %></p>
</div>
</ItemTemplate>
</asp:Repeater>
Javascript:
$(function () {
$.ajax
({
type: "POST",
url: "welcome.aspx/GetMessages",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
});
function OnSuccess(response) {
var xmlDoc = $.parseXML(response.d);
--Iam stuck Here--
}
因此,如果成功,我如何将数据集绑定到repeater内的div标记。您真正需要做的就是遍历
$调用返回的XML。ajax
调用并将结果附加到页面上的元素
1.在页面的任意位置添加
。我们将编写$.ajax
调用的输出,以调用此元素
2.更改OnSuccess()
函数如下:
function OnSuccess(response) {
var xmlDoc = $.parseXML(response.d);
var length = xmlDoc.children[0].children.length;
$("#result").empty();
for(var i = 0; i < length; i++)
{
var item = xmlDoc.children[0].children[i];
var message = item.getElementsByTagName("message")[0].innerHTML;
var div = "<div><p>" + message + "</p></div>";
$("#result").append(div);
}
}
函数成功(响应){
var xmlDoc=$.parseXML(response.d);
var length=xmlDoc.children[0].children.length;
$(“#结果”).empty();
对于(变量i=0;i”;
$(“#结果”)。追加(div);
}
}
为什么不删除中继器?嗨,该应用程序就像发布消息一样。因此,如果我发布消息,它将存储在db中,并由中继器通过按发布日期排序的绑定消息取回。前面我使用代码隐藏中的dataset在repeater中绑定,比如rep.DataSource=this.GetMessages();数据绑定代表().但每次发布消息时,它都使用页面加载和获取数据,并将其与我不需要的repeater绑定。因此,我决定使用jquery ajax方法将数据绑定到repeater中,但我在代码中停留了一段时间。.嘿,谢谢。.我已经用我的详细代码编辑了我的问题。你能看看吗。.我不明白你在说什么我给了你答案,你所要做的就是复制粘贴到你的解决方案中并调试它
function OnSuccess(response) {
var xmlDoc = $.parseXML(response.d);
var length = xmlDoc.children[0].children.length;
$("#result").empty();
for(var i = 0; i < length; i++)
{
var item = xmlDoc.children[0].children[i];
var message = item.getElementsByTagName("message")[0].innerHTML;
var div = "<div><p>" + message + "</p></div>";
$("#result").append(div);
}
}