如何在静态Web方法中获取控件

我有[WebMethod] ,我想使用以下代码为文本框分配值:

 [WebMethod] public static void MyMethod(string s) { //TextBox1.Text = s; //Here how can i access the textbx? } 

你不能。

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

相反,您应该使用Javascript(更好)或UpdatePanel(更糟糕)。

在静态方法(即页面方法异步调用)的情况下,整个页面不会被回发…因此在服务器上没有关于页面控件(文本框或其他)的信息。

服务器在渲染时不保留任何控件的状态,除非这样做(会话或任何其他状态管理)。

因此,如果您想使用页面控件的值,请在异步请求本身中发送此类信息并处理这些值并返回响应…并将其分配给客户端脚本中的相应控件。