2009-12-21 8 views
1

Dans le passé, j'ai toujours placé mes directives <% @ Register ...%> en haut de mes pages .aspx juste en dessous de la directive @ Page. J'ai récemment découvert que je peux placer cette directive de registre N'IMPORTE O in dans la page .aspx et l'avoir toujours fonctionner correctement. Nous nous demandons s'il y a des gens problème peut prévoir de placer ce juste au-dessus de la première instance d'un contrôle utilisateur, par exemple:ASP.NET - Placement de la directive @ Register

<%@ Page .. %> 

<div> 
<asp:TextBox ..> 
... 
... 
<%@ Register src="~/UserControls/UserControl.ascx" ..> 
<uc1:UserControl ..> 
... 
</div> 

Si nous le faisons de cette façon, il est beaucoup plus facile à copier Collez les contrôles utilisateur d'une page à l'autre. Y a-t-il des inconvénients à ce style?

Répondre

1

Généralement ce n'est pas une bonne pratique car vous pouvez avoir plusieurs UserControls sur une page. Je continuerai à le faire en haut ou si elle est à l'échelle l'application envisage de le placer dans votre fichier web.config:

http://weblogs.asp.net/scottgu/archive/2006/11/26/tip-trick-how-to-register-user-controls-and-custom-controls-in-web-config.aspx

+0

Merci pour la réponse - cela semble être une bonne solution pour les contrôles utilisateur que nous voulons être en mesure d'utiliser dans plus d'une page. – Keith

0

Voir la référence MSDN sur Directive Syntax

Extrait:

Lorsqu'elles sont utilisées, les directives peuvent être situées à n'importe où dans un fichier .aspx ou .ascx, bien que la pratique standard consiste à les inclure au début du fichier . Chaque directive peut contenir un ou plusieurs attributs (associés à des valeurs) que sont spécifiques à cette directive.

Et des informations utiles pour @Register.

+0

Oui, je l'ai lu, et il ne mentionne pas de façon notable des inconvénients à placer les directives @ Register où vous voulez. – Keith