我有一个通过 jquery ajax 调用它的 webmethod .in web 方法我将转发器数据源绑定到 pagedatasourse 对象但是当我运行我的程序时,如果我在方法名称之前不使用静态关键字 webmethode jquery ajax 方法不能正常工作并且如果使用静态关键字我有这个错误
对象引用未设置为对象的实例....System.NullReferenceException:对象引用未设置为对象的实例。
和 pagedatasource 属于异常。我很困惑。什么是解决方案?非常感谢它是我的 jquery 功能
$(function () {
var x = 0;
$('.c1').bind('click', function () {
counter = counter + 1;
$.ajax(
{
type: "POST",
url: "WebForm1.aspx/bringdata",
data: { counter: counter },
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (ret) {
alert("success");
},
error: function (x, e) {
alert("error ");
}
}
);
})
$('.c2').bind('click', function () {
x = x - 1;
})
})
及其背后的代码:
[WebMethod]
public static void bringdata(int counter){
SqlConnection con = new SqlConnection("data source=.;database=site;integrated security=true;");
int cnt;
string sSQL = "Select username ,average,weight,point,password ,kal, Rank() over(order by point desc) as 'ranking' from karbar order by point desc";
SqlCommand cmd = new SqlCommand(sSQL, con);
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapt.Fill(ds);
cnt=ds.Tables[0].Rows.Count;
PagedDataSource pds = new PagedDataSource();
pds.AllowPaging=true;
pds.DataSource=ds.Tables[0].DefaultView;
pds.PageSize=5;
pds.CurrentPageIndex=counter;
int vcnt=cnt/pds.PageSize;
rptList.DataSource = pds;
rptList.DataBind();
}