web-dev-qa-db-fra.com

Comment accéder aux contrôles de page dans une méthode Web statique?

J'ai appelé une méthode Code behind utilisant jQuery en utilisant une méthode statique WebMethod.

Cet appel de méthode Web a réussi, mais lorsqu'il a tenté d'accéder à un contrôle de zone de texte, il donne une erreur. Une référence d'objet est requise pour le champ, la méthode ou la propriété non statique.

[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";   
 }
7
user5061957

Comme mentionné par @Tim Schmelter Cela ne répond pas à cette question car vous ne pouvez pas accéder aux contrôles de la page à partir d'une méthode Web .

Veuillez passer par asp.net accéder à un contrôle de la fonction statique

L'intérêt de [WebMethod] est qu'ils n'exécutent pas le cycle de vie des pages ASP.Net. De cette façon, ils sont rapides et parallélisables. Vos contrôles n'existent pas.

votre question est en double de Comment obtenir des contrôles dans la méthode web statique

9
Athul

La réponse acceptée est incorrecte pour les méthodes Web.

Comme Tim Schmelter mentionné correctement dans un commentaire:

vous ne pouvez pas accéder aux contrôles de la page à partir d'une méthode Web

Cela est vrai car les méthodes Web ne portent pas l'état de la page. Ce n'est pas une publication complète. Au lieu de cela, seul le cookie de session voyage avec la demande. Vous devez effectuer une publication pleine page pour obtenir ou définir les valeurs de contrôle.

5
Patrick Hofman