【发布时间】:2016-08-09 08:02:22
【问题描述】:
Iam Binding 在 Div 标记内。现在 iam 使用中继器内的数据集从 db 获取数据。每次页面加载从 db 获取数据,我想避免。所以我决定使用 Jquery ajax 绑定数据集。我的问题是如何在 div 标签内绑定数据集。
我的代码是:
<asp:Repeater ID="rep" runat="server"
OnItemDataBound="rep_ItemDataBound"> <ItemTemplate>
<div>
<p><%#Eval("message") %></p>
</div>
</ItemTemplate>
</asp:Repeater>
代码背后:
[WebMethod]
public static string GetMessages()
{
string query = "GetMessageData";
SqlCommand cmd = new SqlCommand(query);
cmd.CommandType = CommandType.StoredProcedure;
return GetData(cmd).GetXml();
}
private static DataSet GetData(SqlCommand cmd)
{
string strConnString = ConfigurationManager.ConnectionStrings["connectionng"].ConnectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
sda.Fill(ds);
return ds;
}
}
}
}
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--
}
如果成功,我如何将我的数据集绑定到中继器内的 div 标签。
【问题讨论】:
-
为什么不移除中继器?
-
您好,该应用程序就像发布消息。因此,如果我发布消息,它会存储在数据库中,并由转发器按发布日期排序的绑定消息取回。早些时候,我曾经在 rep.DataSource = this.GetMessages(); 之类的代码中使用数据集在转发器中绑定。 rep.DataBind()。但每次发布消息时,它都在使用页面加载和获取数据并将其与我不需要的转发器绑定。因此我决定使用 jquery ajax 方法在转发器内绑定数据,但我坚持代码中的一行..