我正在尝试从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值?
答案 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"]%>';