2009-06-26 6 views
3

J'ai web.config avec la valeur donnée:Valeur de lecture web.config par javascript

<appSettings> 
     <add key="vDirectory" value="fr" /> 
     <add key="BookingSummaryPage" value="/pli/forms/BookingSummary.aspx" /> 
</appSettings> 

Maintenant, je veux lire la valeur de « vDirectory » par script java.

J'utilise ci-dessous le code:

<script language="javascript" type="text/javascript"> 

function test() 
{ 
var t='<%=ConfigurationManager.AppSettings("vDirectory").ToString() %>' 
alert(t); 
} 
</script> 

<input type="button" value="Click Me" onclick="test();" /> 

L'erreur générée est:

Error 'System.Configuration.ConfigurationManager.AppSettings' is a 'property' but is used like a 'method' 
+4

Quel est le problème? – kwcto

+0

Cela devrait fonctionner (bien que ce ne soit pas la façon la plus recommandée de gérer cela). Que montre l'alerte? une valeur vide? – Andrea

+1

Ce n'est pas une question! –

Répondre

1

Edit: cela ne répond pas à votre première question, mais applique toujours après correctif. Si vDirectory ressemblait à "c: \ new folder", vous obtiendriez une nouvelle ligne dans t.

Je ne suis pas sûr de ce que la langue que vous utilisez, mais vous voulez exécuter la chaîne si addslashes() (ou l'équivalent dans votre langue) avant de l'imprimer comme ça:

var t='<%=addslashes(ConfigurationManager.AppSettings("vDirectory").ToString()) %>'; 

Ou mieux encore, JSON encode s'il y a une fonction pour cela:

// Note no quotes as json_encode will add them 
var t=<%=json_encode(ConfigurationManager.AppSettings("vDirectory").ToString()) %>; 
+0

Il donne une erreur Erreur Le nom 'json_encode' n'existe pas dans le contexte actuel –

+0

aucune idée comment je peux ajouter "addslashes" en javascript? –

+0

Vous devez faire le bit addslashes dans votre code côté serveur pas javascript. – Greg

1

Essayez ceci:.

ConfigurationManager.AppSettings [ "vDirectory"] ToString()

S'il vous plaît noter que les crochets sont utilisés à la place de supports normaux.

Questions connexes