pages, de pages de formulaire, sous forme runat = server> toutes les méthodes onclick à la page principale?

StackOverflow https://stackoverflow.com/questions/2889851

Question

le problème que j'ai est que j'ai plusieurs pages maîtres imbriqués:

  • niveau 1 : global (en-tête, pied de page, connexion, navigation, etc ...)
  • Niveau 2 : spécifique (recherche pages, pages de compte, etc ...)
  • Niveau 3 : la page elle-même

maintenant, étant donné qu'une seule forme peut avoir runat=server, je peux mettre la forme à la page globale (donc je peux gérer les choses comme login, commentaires, etc ...).

maintenant avec cette solution je dois mettre aussi par exemple le niveau 3 (voir ci-dessus) méthodes, telles que la recherche également au niveau 1 page principale, mais cela conduira à cette page étant lourde (pour le développement) avec le code de tous les lieux, même ceux qui sont utilisés sur une seule page uniquement (changement de forme de courrier électronique par exemple).

est-il possible de déléguer ces méthodes des événements onclick (par exemple: ChangeEMail). De niveau 1 (masterpage global) au niveau 3 (la seule page elle-même)

pour être encore plus clair: je veux avoir de ne pas avoir la méthode ChangeEMail sur le code mondial page maître derrière, mais je voudrais « MOVE » en quelque sorte à la seule page qui fait l'utiliser. la raison pour laquelle il est actuellement d'être sur le maître global est que maître mondial a form runat=server et il ne peut y avoir qu'un seul de ceux par page ASPX.

cette façon, il sera plus facile (plus logique) pour structurer le code.

thnx (espoir i correctement expliqué)

ont cherché mais n'a pas trouvé aucune information sur la manipulation ce cas, la réponse est usualy: ont toutes les méthodes sur la page principale, mais je ne l'aime pas. de sorte que toute façon de se déplacer à la page spécifique serait génial. thnx

modifier également partie de la même chose ... d'autre part - comment accéder au textbox1.text par exemple sur la page du contenu de la page principale? une meilleure pratique pour cela?

Était-ce utile?

La solution

Si vous mettez le bouton de recherche et sur la zone de texte .aspx lui-même (niveau 3) le gestionnaire d'événements sera également aller dans la page (ou son code-behind). Peu importe que l'étiquette de forme est sur le masterpage global (niveau 1)

En ce qui concerne votre deuxième question: Vous pouvez utiliser

var tb = this.FindControl("textbox1") as TextBox;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top