簡體   English   中英

如何從Razor頁面使用版本號參數更新JavaScript文件

[英]How to update JavaScript files with version number parameter from Razor page

我想為每個發行版更新JavaScript文件。 因此,我需要將版本號添加到我正在使用的JavaScript文件中,我想從web.config文件中提供版本號。

我在web.config中添加了一個密鑰,如下所示:

  <add key="VersionNumber" value="1"/>

我有一個js文件為:

  <script src="~/Scripts/Utilities/DashBoard.js" type="text/javascript"></script>

我知道我們可以將“版本號”提供給js文件,例如:

 <script src="~/Scripts/Utilities/DashBoard.js?version="**data**""     type="text/javascript"></script>

在asp.net mvc3剃刀中,我們可以從javascript中的web.config獲取值,如下所示:

var VersionData =   "@System.Configuration.ConfigurationManager.AppSettings["VersionNumber"].ToString()";

但是我很困惑如何將這個“ VersionData”放置在上面腳本行的“數據”中。

我已經在頁面加載功能中給出了此VersionData。 這是正確的嗎?

當我更改每個發行版的版本號時,它將更新.js文件。 誰能幫助我找到解決方案?

嘗試改用System.Web.Configuration命名空間中的WebConfigurationManager類。

string versionNumber = WebConfigurationManager.AppSettings["VersionNumber"].ToString()

為了在您的.js庫中使用version參數,建議您將參數傳遞給一個對象。

在DashBoard.js中

var MYSCRIPT = MYSCRIPT || (function(){ 
    var _args = {};

    return { 
        init : function(Args) { 
            _args = Args; 
        }, 
    returnValue : function() { 
             alert(_args[0]); 
         } 
    }; 
}()); 

您的剃須刀頁面

<script type="text/javascript" src="~/Scripts/Utilities/DashBoard.js"></script> 
<script type="text/javascript"> 
   MYSCRIPT.init(["versionNumber", @versionNumber]); 
</script> 

訪問值(在頁面或JS中)

 MYSCRIPT.returnValue(); 

我建議您創建自己的HTML幫助器,以從web.config獲取活動腳本名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM