如何从javascript文件中的web.config读取键值?

时间:2015-06-27 17:32:49

标签: javascript c# web-config

我正在尝试从web.config文件中读取apiUrl键值,以便我可以利用.net转换配置来管理不同环境中的部署。这是我的Webconfig代码:

<appSettings>
    <add key="url" value="http://localhost:6299/api/"  
</appSettings>

在普通的js文件中我有这段代码:

var apiUrl = '<%=ConfigurationManager.AppSettings["url"].Tostring()
%>'.

它没有给出url值。如何在javascript文件中读取web.config值?

6 个答案:

答案 0 :(得分:11)

  

&#34;在普通的js文件中&#34;

你的意思是以.js结尾的文件吗?

.js文件解析服务器端,因此不会转换<%=值。这适用于另一个答案(&#34;为我工作&#34;),因为他们将在.aspx / .cshtml文件中使用它而不是简单的.js文件&#39;。

您需要将代码移动到.aspx / .cshtml,或者您需要通过.aspx / .cshtml中的函数参数将url值传递给您的js(例如)文件。

答案 1 :(得分:11)

下面的代码对我有用。

<script>
    var apiUrl = '@System.Configuration.ConfigurationManager.AppSettings["url"]';
</script>

答案 2 :(得分:3)

下面的代码对我来说非常有用。我认为你缺少命名空间。

var apiUrl = '<%= System.Configuration.ConfigurationManager.AppSettings["url"].ToString() %>';
        alert(apiUrl);

答案 3 :(得分:3)

下面的代码在ASP.Net webforms应用程序中为我工作,但在MVC应用程序中不适用

var key = '<%= System.Configuration.ConfigurationManager.AppSettings["key"].ToString() %>';

对于.cshtml页面中的MVC应用程序,请尝试以下

 var key = '@System.Configuration.ConfigurationManager.AppSettings["key"].ToString()';

答案 4 :(得分:1)

index.html

<input id="getImageUrl" value="@System.Configuration.ConfigurationManager.AppSettings["OPMGTWebUrl"]" style="display:none" />

index.js

var imageUrl = document.getElementById("getImageUrl").value;

答案 5 :(得分:-2)

以下行将返回URL值。

var apiUrl = '<%=ConfigurationManager.AppSettings["url"]%>';