[英]assigning path in Inline javascript in asp.net mvc
我正在使用MVC 2體系結構。
我有一個(x.js)
文件(x.js)
...其中包含對象hs
的聲明(即var hs
)。
在我的aspx文件中,我正在使用<script>
標記調用(x.js)
文件,並且該文件運行正常。
我正在使用hs
變量,並在嵌入式腳本中的aspx中為其屬性分配值-在下面找到它:
<script type="text/javascript">
hs.graphicsDir = '../../Resources/graphics/';
...
...
</script>
通過Firebug調試時,我發現此內嵌腳本在我的環境和發布中均正在執行。
問題是,在我的環境中, graphicsDir
值被完美地執行並相應地執行,但是在發布中,路徑沒有被正確地采用。
請提出如何使它在部署中運行的建議。
嘗試這個
hs.graphicsDir ="<%= Url.Content("~/Resources/graphics")%>"
根據其他正確答案,您可以使用Page_Load
方法中的以下代碼將正確的URL發送到客戶端腳本:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "correct_url", "var graphDir = \"" + Url.Content("~/Resources/graphics") + "\";", true);
然后在您的JS文件中有以下內容:
hs.graphicsDir = graphDir;
由於它是MVC應用程序,而不是普通的ASP.NET,因此您必須按照此處描述的步驟添加“隱藏代碼”-如果您希望避免這種情況,還可以直接在.aspx
文件本身中包含以下代碼:
<script type="text/javascript">
var graphDir = "<%=Url.Content("~/Resources/graphics")%>";
</script>
並在.js
文件中具有與上述相同的代碼。 (使用全局變量)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.