javascript
  • c#
  • web-config
  • 2015-06-27 143 views 6 likes 
    6

    我正在嘗試從web.config文件中讀取apiUrl鍵值,以便我可以利用.net轉換配置來管理不同環境中的部署。這裏是我的Webconfig代碼:如何從JavaScript文件中的web.config中讀取關鍵值?

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

    ,並在普通的js文件我有這樣的代碼:

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

    它不給url值。我怎樣才能讀取JavaScript文件中的web.config值?

    +0

    你可以找到你回答這裏:http://stackoverflow.com/questions/1910095/reading-web-config-from-javascript –

    回答

    3

    下面的代碼完全適合我。我認爲你缺少名字空間。

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

    我真的不知道上述解決方案是否適用於任何人,正確的答案應該是什麼@ darson199 1提到。這是'' – 3not3

    7

    「在普通的js文件」

    你的意思是可以在.js結尾的文件?

    .js文件是而不是解析的服務器端,所以<%=值不轉換。這適用於其他答案(「爲我工作」),因爲它們將放在.aspx/.cshtml文件中,而不是「plain .js文件」。

    您需要將代碼移至.aspx/.cshtml中,否則您需要通過.aspx/.cshtml文件中的函數參數將url值傳遞給您的js(例如)。

    6

    下面的代碼適用於我。

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

    下面的代碼在ASP.Net Web表單應用程序爲我工作,但不是在MVC應用程序

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

    在.cshtml網頁MVC應用程序嘗試下面

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