How to get controls in static web method

2019-01-20 19:47发布

I have a [WebMethod] and i want to assign values to a text box using the this code:

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

2条回答
看我几分像从前
2楼-- · 2019-01-20 20:40

in case of static method(ie, page method asynchronous call), whole page is not posted back..and hence there is no information on server about the page controls(textbox or whatever)..

server doesn't retain the state of any of the controls or so while rendering unless made to do so(session or any other state management)..

So if you want to work one the values of the page controls, send such information in the asynchronous request itself and work on those values and return the response..and assign it to respective controls back in client side script..

查看更多
闹够了就滚
3楼-- · 2019-01-20 20:42

You can't.

The whole point of [WebMethod]s is that they don't run the ASP.Net page lifecycle. This way, they're fast and parallelizable.
Your controls don't exist.

Instead, you should use Javascript (better) or an UpdatePanel (worse).

查看更多
登录 后发表回答