私はjquery ajaxによってそれを呼び出すwebmethodを持っています.in web method私はリピーターデータソースをpagedatasourseオブジェクトにバインドしますが、メソッド名の前に静的キーワードwebmethodeを使用しない場合、プログラムを実行するとjquery ajaxメソッドが正しく機能せず、使用する場合static キーワード 私はこのエラーがあります
オブジェクト参照がオブジェクトのインスタンスに設定されていません....System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。
と pagedatasourse は例外に分類されます。私は混乱しています。解決策は何ですか? 私の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();
}