2009-10-12 9 views
2

J'essaie d'utiliser le <% $ AppSettings: ..%> raccourci dans un contrôle utilisateur asp.net.AppSettings question shourtcut

Je suis capable d'utiliser la syntaxe fine lors de la liaison d'une propriété à un appsetting, mais je veux utiliser un appsetting pour contenir un identifiant de page. pour exmaple:

<a href="default.aspx?page=<%$ AppSettings:TestPageID %>">Test link</a> 

Cette méthode ne fonctionne pas, alors ma question est, le raccourci appsetting peut être utilisé comme celui-ci pour insérer un littéral, ou quelqu'un peut-il suggérer une façon que je peux y parvenir.

Un grand merci,

Adam

Répondre

3

ajouter littérale dans la balise d'ancrage.

<a href="/default.aspx?page=<asp:Literal runat="server" Text="<%$ appSettings:TestPageId %>"/>">Test Link</a> 
+0

parfait! .. merci tentoni! –

0

Essayez:

<%= System.Configuration.ConfigurationSettings.AppSettings.Get("TestPageID") %> 
+1

défaites Kinda le but de celui-ci étant un raccourci. Serait mieux d'ajouter la référence et l'ajouter aux utilisations, puis appelez AppSettings.Get ("TestPageID") – James

+0

Merci jlech, cela fonctionne, mais c'est quelque chose que je voudrais passer à nos concepteurs de sorte qu'il serait agréable d'avoir un seul moyen d'accéder à l'appSettings ou une variation mineure de "AppSettings:" –

+0

@James - très vrai, je voulais juste donner le nom complet. @Adam - La méthode James pour raccourcir le nom devrait également fonctionner. Une autre chose que vous pouvez essayer est de rendre le lien hypertexte un contrôle serveur (ie ) dans le script backend C# de la page, il suffit d'écrire une simple instruction IF pour vérifier le valeur de "TestPageID" et définissez-le à la propriété NavigateURL de l'hyperlien. –

0

Il suffit d'ajouter runat = serveur à l'original « une » étiquette et tout fonctionne correctement comme ceci:

<a runat="server" href="default.aspx?page=<%$ AppSettings:TestPageID %>">Test link</a>