gpt4 book ai didi

c# - 如何从静态 WebMethod 绑定(bind) gridview

转载 作者:太空狗 更新时间:2023-10-29 18:11:50 24 4
gpt4 key购买 nike

我使用 jQuery 使用静态 web 方法调用了代码隐藏方法。该 Web 方法调用成功,但是当我在该方法中绑定(bind) GridView 时,出现错误,我们不能在静态方法中使用控件。我们如何解决这个问题?。

  public static DataTable GetDataTable()
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand("StoredProcedurename");
String constr = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
SqlConnection con = new SqlConnection(constr);


string Startdate = DateTime.Now.ToString("yyyy-MM-dd");
string EndDate = Convert.ToDateTime(Startdate).AddMonths(-6).ToString("yyyy-MM-dd");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@FromDate", Startdate);
cmd.Parameters.AddWithValue("@ToDate", EndDate );
cmd.Connection = con;
SqlDataAdapter sda = new SqlDataAdapter(cmd);

sda.Fill(ds);

//i want to use same dataset to bind with the grid
gridToBind.DataSource = ds.Tables[1];
gridToBind.DataBind();
txtStatus.Text="Data Received";
//above three lines throws error.

return ds.Tables[1];

}

出现错误“非静态字段、方法或属性需要对象引用”

最佳答案

你不能为所欲为。

您误解了静态和实例之间的区别。例如,您的页面可以被数百个不同的人使用。每个人都会看到您页面的不同实例,每个人都会看到不同的 GridView 实例。另一方面,由于您的 WebMethod 是静态的,所有这数百个不同的人都将使用一个方法。

那么你的静态方法如何决定服务哪一个呢?它不能。

如果你想从 ajax 填充 GridView ,你需要从你的 WebMethod 发回数据,参见一个例子 here .

阅读以下文章以了解更多信息 Why WebMethod are static .

关于c# - 如何从静态 WebMethod 绑定(bind) gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com