如何访问静态Web方法中的页面控件?

时间:2015-07-20 10:29:19

标签: c# asp.net static pagemethods

我使用静态WebMethod方法使用jQuery调用了一个代码隐藏方法。

该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";   
 }

2 个答案:

答案 0 :(得分:9)

如@Tim Schmelter所述这不回答这个问题,因为您无法通过网络方法访问网页控件

请完成 asp.net access a control from static function

[WebMethod]的重点是它们不运行ASP.Net页面生命周期。这样,它们快速且可并行化。 您的控件不存在。

您的问题与How to get controls in static web method

重复

答案 1 :(得分:5)

网络方法接受的答案是错误的。

正如Tim Schmelter在评论中正确提到的那样:

  

您无法从网络方法访问网页控件

这是正确的,因为Web方法不带有页面状态。这不是一个完整的回发。相反,会话cookie随请求一起传播。您必须执行整页回发以获取或设置控制值。