1

我想将新数据绑定到我的 ListView。但我不能

在服务器端我有:

    [WebMethod]
    public static void ChangeConditions(string ConditionIs)
    {
        DataTable dt = new DataTable();
        dt = GetNewData(ConditionIs);

        //can't to do it, because my WebMethod is static.
        //listView.DataSource = dt;
        //listView.DataBind();
    }

    private static DataTable GetNewData(string conditions)
    {
        DataTable NewData = new DataTable();

        //Get new data from DB and want to return DataTable with new data.
        //...
        return NewData;
    }

在客户端我有:

$('#btnSend').live('点击', function () {

$.ajax({
    type: "POST",
    url: "default.aspx/ChangeConditions",
    data: '{"ConditionIs":"' + condition + '"}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {

    }
}); });

如何将数据重新绑定到 ListView?

PS当我写这篇文章时,我研究了我的问题。并找到解决方案:

  • 将 UpdatePanel 放在我的 ListView 周围;
  • 将 ScriptManager 放在 UpdatePanel 上方;
  • 将此行放在 JS 中的成功函数中: __doPostBack('UpdatePanel1', '');

当我将数据从客户端发送到服务器到 [WebMethod] 中时,我可以填充我的静态 DataTable,并将其绑定到 Page_Load。但我想有趣,我可以使用其他解决方案吗?或者也许在我的解决方案中可能有一些错误?

4

0 回答 0