簡體   English   中英

如何在asp.net MVC中包含js文件,並在所有路由上都有一個有效的路徑

[英]How to include js files in asp.net MVC and have a valid path on all routes

我創建了一個默認的ASP.net MVC項目。 在主頁面中,我在頂部有以下內容

<head runat="server">
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>

然后,我需要添加一個javascript文件,並通過將文件從解決方案資源管理器拖到頁面來添加以下行:

<head runat="server">
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
    <script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>

當我訪問該網站並從瀏覽器中查看html時,我看到:

<head><title> 

    Index

</title><link href="Content/Site.css" rel="stylesheet" type="text/css" /> 
    <script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>  
</head> 

CSS文件相對路徑是固定的,但JS文件沒有。 該站點將部署到服務器上的不同文件夾,而不是我在開發框中獲得的根目錄。

有沒有正確的方法來做到這一點?

使用Url Helper:

<script type="text/javascript" src="<%=Url.Content("~/Content/script/MyFile.js")%>"></script>

希望有所幫助

您可以創建一個幫助方法,執行以下操作:

<%= Helper.IncludeJavascriptFile("Menu.js") %>

然后在那個助手中你做了類似的事情:

public string IncludeJavascriptFile(string fileName){
    return Url.Content("<root>/Javascript/Files/" + fileName);
}

然后,您可以從視圖中調用該輔助方法。 如果您決定更改文件的位置,則只需在一個位置,您就必須擔心它。 如果您更改文件的名稱,那么這本身就是一個不同的問題。

暫無
暫無

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

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