我使用jQuery使用静态WebMethod
方法调用Code behind方法。
web方法调用是成功的,但当试图访问文本框控件时,它给出错误。非静态字段、方法或属性需要对象引用。
[WebMethod]
public static Savedata()
{
//code to insert data to DB
//after inserting data successfully i need to change the text box text like following.
txtStatus.Text="Data Received";
}
正如@Tim Schmelter所提到的,这并不能回答这个问题,因为你不能从webmethod访问页面的控件。
请过去Asp.net从静态函数
访问控件[WebMethod]s的全部要点是它们不运行ASP。网页生命周期。通过这种方式,它们快速且可并行化。你的控件不存在
你的问题是如何在静态web方法中获得控件的副本
web方法接受的答案是错误的。
正如Tim Schmelter在评论中正确提到的:
你不能从webmethod中访问页面的控件
这是真的,因为web方法不携带页面状态。这不是一个完整的回发。相反,只有会话cookie随请求一起传输。你必须做一个完整的页面回发来获取或设置控件的值。