簡體   English   中英

在asp.net mvc中的內聯javascript中分配路徑

[英]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.

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