2009-02-25 4 views
5

J'ai un peu de mal à obtenir que mes pages aspx reconnaissent mes tagsPrefixes.Définition de tagPrefixes dans Web.config help

Je les standards ASP définis ...

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 

J'ai mes contrôles personnalisés définis ci-dessous, mais je ne pense pas que je suis les définir correctement parce que parfois la page ne voit pas de contrôles dans le contexte actuel autres fois, ils travaillent comme un champion ...

<add tagPrefix="mri" namespace="Mri.Controls" assembly="Mri.Controls"/> 
<add tagPrefix="mri" namespace="Mri.Controls.Inputs" assembly="Mri.Controls"/> 
<add tagPrefix="mri" namespace="Mri.Controls.Inputs.DropDowns" assembly="Mri.Controls"/> 
<add tagPrefix="mri" namespace="Mri.Controls.Inputs.Search" assembly="Mri.Controls"/> 

J'ai un espace de noms « Mri.Controls » et à l'intérieur de cet espace de noms que j'ai plusieurs sous-dossiers, « Entrées » -> « dropdowns » etc ...

Qu'est-ce que je fais mal? Actuellement, les contrôles ASP habituels me donnent une erreur: Le nom "blahBlah" n'existe pas dans le contexte actuel.

Répondre

1

N'avez-vous pas également besoin de l'attribut tagName, par ex.

<add tagPrefix="mri" tagName="Search" namespace="Mri.Controls.Inputs.Search" assembly="Mri.Controls"/> 

<mri:Search ID="Search" runat="server"/> 
+0

N'a pas besoin de l'attribut de variable. Les noms de classe deviennent des noms de tag. – andleer

+0

Oh ok. C'est utile à savoir! –

3

Les sous-dossiers peuvent ou non faire partie de l'espace de noms. Par défaut, Visual Studio les inclut lors de la création de nouvelles classes mais peut être supprimé dans la classe. Si vous avez déplacé les contrôles dans les sous-dossiers, le nom du dossier ne fait probablement pas partie de l'espace de noms.

De même, assurez-vous de référencer votre ensemble de contrôles ou votre projet dans Visual Studio.