J'essaie de lire la valeur de la clé apiUrl à partir du fichier web.config afin de pouvoir profiter de la configuration de transformation .net pour gérer le déploiement dans différents environnements. Voici mon code Webconfig:
<appSettings>
<add key="url" value="http://localhost:6299/api/"
</appSettings>
et dans le fichier js simple, j'ai ce code:
var apiUrl = '<%=ConfigurationManager.AppSettings["url"].Tostring()
%>'.
Il ne donne pas la valeur URL. Comment puis-je lire la valeur web.config dans un fichier javascript?
"Dans le fichier js"
voulez-vous dire un fichier se terminant par .js?
Les fichiers .js sont pas analysés côté serveur, donc le <%=
les valeurs ne sont pas converties. Cela fonctionne pour l'autre réponse ("a fonctionné pour moi") car ils l'auront dans le fichier .aspx/.cshtml plutôt que dans un "fichier .js ordinaire".
Vous devrez déplacer votre code vers votre .aspx/.cshtml ou vous devrez passer la valeur de l'URL à votre js (par exemple) via un paramètre de fonction du fichier .aspx/.cshtml.
Le code ci-dessous a fonctionné pour moi.
<script>
var apiUrl = '@System.Configuration.ConfigurationManager.AppSettings["url"]';
</script>
Le code ci-dessous a fonctionné pour moi dans l'application Webforms ASP.Net, mais pas dans l'application MVC
var key = '<%= System.Configuration.ConfigurationManager.AppSettings["key"].ToString() %>';
pour l'application MVC dans la page .cshtml essayez ci-dessous
var key = '@System.Configuration.ConfigurationManager.AppSettings["key"].ToString()';
Le code ci-dessous a parfaitement fonctionné pour moi. Je pense que l'espace de noms vous manque.
var apiUrl = '<%= System.Configuration.ConfigurationManager.AppSettings["url"].ToString() %>';
alert(apiUrl);