2010-07-14 10 views
0

J'utilise PageMethods appeler une méthode de javascript, est-il un moyen d'accéder aux commandes de la page à partir de la méthode dans codebehind (marqué comme statique)? Le problème est que pagemethod nedds pour charger une entité commerciale et le charger sur la page, et la structure est complexe.PageMethods et contrôles de page de référence

Merci d'avance pour toute aide.

Répondre

1

Même dans une méthode statique/partagée, vous pouvez accéder à votre page.

C#:

(WebForm1)HttpContext.Current.Handler 

VB.Net:

DirectCast(HttpContext.Current.Handler, WebForm1) 

Où WebForm1 est votre page type. Ensuite, vous pouvez accéder à tous vos contrôles.

+0

Merci pour l'info, mais quand j'accède à la propriété Contrôles de la page il n'y en a pas. – Argons

+0

Désolé, j'ai oublié que dans un WebMethod aucun Viewstate n'est chargé, il ne fait pas partie du cycle de vie de la page pour des raisons de performances. Donc je n'ai pas de suggestion mais de passer des valeurs de javascript à cette méthode. –

+0

Est-ce une option pour stocker des contrôles ou des objets pertinents dans la session? Vous pouvez accéder à la session à partir d'un contexte statique avec: HttpContext.Current.Session –