2012-01-23 9 views
0

のコントロールを取得するにはどうすれば[WebMethod]を持っていると私はこのコードを使用して、テキストボックスに値を割り当てる:静的なWebメソッド

あなたがすることはできません
[WebMethod] 
public static void MyMethod(string s) 
{ 
    //TextBox1.Text = s; //Here how can i access the textbx? 
} 
+0

重複した質問がこの投稿を通過http://stackoverflow.com/questions/2133194/access-asp-net-control-from-static-webmethod-js-ajax-call – Devjosh

答えて

15

[WebMethod]の全体のポイントは、ASP.Netページのライフサイクルを実行しないことです。この方法で、それらは高速かつ並列化が可能です。
コントロールが存在しません。

代わりに、Javascript(より良い)またはUpdatePanel(悪い)を使用する必要があります。

+0

ウェブメソッドを使用している場合(そこには重要なライブラリがあります)、ページのマークアップにアクセスして、何か起こったという警告を送信するようなことをする方法はありますか? –

1

静的メソッドの場合(つまり、ページメソッドの非同期呼び出し)で、全ページが掲載されていないback..andので、ページのコントロール(テキストボックスまたは何でも)について、サーバー上の情報はない。..

サーバーレンダリング中にセッションやその他の状態管理を行わない限り、コントロールの状態を保持しません。

したがって、ページコントロールの値を1つ動作させたい場合は、情報を非同期要求自体に格納し、それらの値を処理して応答を返し、それをクライアント側のスクリプトに戻してそれぞれの制御に割り当てます。

関連する問題