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値を読み取るにはどうすればよいですか?
「プレーンjsファイル内」
.jsで終わるファイルですか?
.jsファイルはnotサーバー側で解析されるため、<%=
値は変換されません。これは、「プレーンな.jsファイル」ではなく.aspx/.cshtmlファイルに含まれているため、他の回答(「worked for me」)で機能します。
コードを.aspx/.cshtmlに移動するか、url値を.aspx/.cshtmlファイルの関数パラメーターを介してjs(たとえば)に渡す必要があります。
以下のコードは私のために働いた。
<script>
var apiUrl = '@System.Configuration.ConfigurationManager.AppSettings["url"]';
</script>
以下のコードは、ASP.Net webformsアプリケーションでは機能しましたが、MVCアプリケーションでは機能しませんでした
var key = '<%= System.Configuration.ConfigurationManager.AppSettings["key"].ToString() %>';
.cshtmlページのMVCアプリケーションの場合は、以下を試してください
var key = '@System.Configuration.ConfigurationManager.AppSettings["key"].ToString()';
以下のコードは完璧に機能しました。名前空間が欠落していると思います。
var apiUrl = '<%= System.Configuration.ConfigurationManager.AppSettings["url"].ToString() %>';
alert(apiUrl);