webform使用ajax来调用WebMethod方法实现多页查询的解决方案
思路:前端使用ajax调用后端方法,实现根据当前前端的过滤条件从后端查询,
方法:
A:创建一个全局变量:public static ASPxGridView grd;
B:在ASPxGridView1的Load事件中对grd进行赋值
C:在[webmethod]方法中使用grd对象获取当前过滤条件,根据获取的过滤条件对sql表进行条件查询,返回得到的结果到前端,前端根据结果确定如何动作
public static ASPxGridView grd;
protected void ASPxGridView1_Load(object sender, EventArgs e)
{
grd = sender as ASPxGridView;
}
[WebMethod]
public static string newadd_bzdh_record_check()
{
string result = "false";
string ywjl_str = "";//有无记录
string gltj_str = grd.FilterExpression;
if (!gltj_str.Contains("IsNullOrEmpty"))
{
if (gltj_str != "" && !gltj_str.Contains("where"))
{
gltj_str = " where " + gltj_str;
}
DataTable clkz_dt = SqlHelper.ExecuteDataTable("select * from 车辆开支" + gltj_str, new SqlParameter[] { });
if (clkz_dt != null)
{
int rec_sl = clkz_dt.DefaultView.ToTable(true, "号牌号码").Rows.Count;
if (rec_sl < 2)
{
result = "true";
ywjl_str = "有记录";
}
}
else
{
result = "true";
ywjl_str = "无记录";
}
}
else
{
result = "true";
ywjl_str = "无记录";
}
return "[{\"jg\":" + result + ",\"ywjl\":\"" + ywjl_str + "\"}]";
}