val*_*tic 15 javascript c# web-config
我试图从web.config文件中读取apiUrl键值,以便我可以利用.net转换配置来管理不同环境中的部署.这是我的Webconfig代码:
<appSettings>
<add key="url" value="http://localhost:6299/api/"
</appSettings>
Run Code Online (Sandbox Code Playgroud)
在普通的js文件中我有这个代码:
var apiUrl = '<%=ConfigurationManager.AppSettings["url"].Tostring()
%>'.
Run Code Online (Sandbox Code Playgroud)
它没有给出url值.如何在javascript文件中读取web.config值?
fre*_*n-m 14
"在普通的js文件中"
你的意思是以.js结尾的文件?
.js文件未在服务器端解析,因此<%=
不会转换值.这适用于另一个答案("为我工作"),因为他们将在.aspx/.cshtml文件中而不是"普通的.js文件".
您需要将代码移动到.aspx/.cshtml,或者您需要通过.aspx/.cshtml文件中的函数参数将url值传递给js(例如).
dar*_*991 13
下面的代码对我有用.
<script>
var apiUrl = '@System.Configuration.ConfigurationManager.AppSettings["url"]';
</script>
Run Code Online (Sandbox Code Playgroud)
Akh*_*ila 10
下面的代码在 ASP.Net webforms 应用程序中对我有用,但在 MVC 应用程序中不起作用
var key = '<%= System.Configuration.ConfigurationManager.AppSettings["key"].ToString() %>';
Run Code Online (Sandbox Code Playgroud)
对于 .cshtml 页面中的 MVC 应用程序,请尝试以下
var key = '@System.Configuration.ConfigurationManager.AppSettings["key"].ToString()';
Run Code Online (Sandbox Code Playgroud)
下面的代码非常适合我。我认为你缺少命名空间。
var apiUrl = '<%= System.Configuration.ConfigurationManager.AppSettings["url"].ToString() %>';
alert(apiUrl);
Run Code Online (Sandbox Code Playgroud)