如何使用jquery将数据绑定到asp.net中的listview

时间:2014-12-16 17:35:45

标签: c# jquery asp.net listview

我有listview:

<asp:ListView ID="lsvNews" runat="server" OnPagePropertiesChanging="lsvNews_PagePropertiesChanging">
    <ItemTemplate>
        <tr>
            <td>
                <a href='<%#Eval("Hyperlink") %>' target="_blank"><%#Eval("Title") %></a>&nbsp;&nbsp;<%#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的方式,谢谢:)

3 个答案:

答案 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;
                }
            }
        }
    }