2009-08-26 12 views
1

Je me demande ce qui est traité en premier: si le code placé dans la partie aspx (en utilisant les balises serveur <%%>) ou le code derrière, parce que je place une variable qui est chargée dans le aspx entre les balises serveur et moi Je ne reçois rien quand il y a une valeur. Quelqu'un peut-il me pointer dans certaines directions comme un article parlant du cycle de vie de la page qui inclut le code ASPX?Qu'est-ce qui est traité en premier: code aspx ou aspx.vb?

Merci!

Répondre

1

Comme l'autre affiche dit, il y a un cycle de vie documenté. Cela mis à part, le codebehind représente la classe de base, l'aspx la classe dérivée. Le balisage dans ASPX est réellement compilé en code natif, donc la vraie réponse est que la page et le codebehind sont essentiellement une instance, puisque l'ASPX compilé hérite du code dérivé de la page dans le codebehind.

-Oisin

+0

L'héritage n'est plus vrai. L'ASPX est une partie d'une déclaration de classe partielle et le fichier derrière est une autre partie de la classe partielle _same_. –

+0

Ah, jamais remarqué. Toujours, l'effet est le même. – x0n

1

Lorsque les appels HttpHandler méthode ProcessRequest(), il commence par la création d'une classe AutoGénéré de fichier .aspx. Cette classe générée automatiquement créera la hiérarchie de contrôle de page pour la page .aspx qui convertit simplement la syntaxe déclarative en code réel en C# ou en VB. Cette classe autogénérée est ensuite combinée avec un code partiel derrière la classe. Maintenant, cette classe complétée servira de classe de base à la page .aspx. Cette classe est stockée dans \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Fichiers ASP.NET temporaires. Et cette classe servira toutes les demandes pour la page. Donc, si vous avez une variable protégée/publique déclarée à l'intérieur d'un code partiel derrière la classe et que vous remplissez cette variable avec une valeur dans Page_load, et si vous voulez imprimer sur la page .aspx en utilisant <% = variablename%>, il devrait imprimer la valeur est attribué dans Page_Load sur la page Web.

+0

Très utile, merci! – Sebastian