我想将新数据绑定到我的 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。但我想有趣,我可以使用其他解决方案吗?或者也许在我的解决方案中可能有一些错误?