在ASP.NET AJAX中如何通过pagemethods在服务器端取得数据,并在服务器端把数据绑定到GridView中。
现在已经可以在服务器端通过PageMethods取得数据,但是在服务器端无法把已经取得的数据绑定到GridView中。
代码如下:
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static DataTable CreateData()
{
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("id");
for (int i = 0; i < 8; i++)
{
DataRow dr = dt.NewRow();
dr["name"] = "xuebin" + (i + 1);
dr["id"] = (i + 1);
dt.Rows.Add(dr);
}
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
return dt;
}
程序一编译就会报错,说是
关键字“this”在静态属性、静态方法或静态字段初始值设定项中无效[b][/b]
应该如何操作,请高手指点。
[解决办法]
以script service形式调用CreateData方法时,并没有回刷页面,所以无法获得HttpContext.Current,也就无法操作任何实例化的控件,与ajax method类似