我有listview:
<asp:ListView ID="lsvNews" runat="server" OnPagePropertiesChanging="lsvNews_PagePropertiesChanging">
<ItemTemplate>
<tr>
<td>
<a href='<%#Eval("Hyperlink") %>' target="_blank"><%#Eval("Title") %></a> <%#string.Format("{0:MMMM d, yyyy}", Eval("CreatedDate"))%>
</td>
</tr>
</ItemTemplate>
<LayoutTemplate>
<table>
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
</asp:ListView>
和函数使用jquery获取数据
function GetNews(pageIndex) {
$.ajax({
type: "POST",
url: "Default.aspx/GetData",
data: '{pageIndex: ' + pageIndex + '}',
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) { //????? }
函数在codebehind中获取数据:
[WebMethod]
public static string GetData(int pageIndex)
{
DataSet ds = CreateDataSet(pageIndex);
return ds.GetXml();
}
请告诉我通过函数ListView
中的代码将数据绑定到OnSuccess
的方式,谢谢:)
答案 0 :(得分:0)
listview控件根据定义是服务器端控件,不能在客户端进行数据绑定。 OnSuccess需要将数据发布回WebMethod,然后将数据绑定到列表视图。
而不是那样,为什么不对你的web方法进行这样的改变?
[WebMethod]
public static string GetData(int pageIndex)
{
DataSet ds = CreateDataSet(pageIndex);
lsvNews.datasource = ds;
lsvNews.DataBind();
return "Success";
}
可能是我错过了这一点,所以如果是这种情况我会道歉。
答案 1 :(得分:0)
[WebMethod]
public static string GetData(int pageIndex)
{
DataSet ds = CreateDataSet(pageIndex);
lsvNews.datasource = ds;
lsvNews.DataBind();
return "Success";
}
答案 2 :(得分:0)
private static DataSet GetDataFromDatabase(SqlCommand cmd)
{
string strConnString = ConfigurationManager.ConnectionStrings["MyConnection"].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, "Customers");
DataTable dt = new DataTable("PageCount");
dt.Columns.Add("PageCount");
dt.Rows.Add();
dt.Rows[0][0] = cmd.Parameters["@PageCount"].Value;
ds.Tables.Add(dt);
return ds;
}
}
}
}