Ho creato un progetto ASP.net MVC predefinito. Nella pagina master che ho il seguente nella parte superioreCome includere file js in asp.net MVC e avere un percorso valido su tutte le route
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
ho quindi bisogno di aggiungere un file javascript e aggiunto la riga come segue trascinando il file dalla soluzione esploratore alla pagina:
<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>
Quando accedo un sito e Esaminando il codice HTML dal browser vedo questo:
<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>
il file CSS percorso relativo è stato fissato, ma il file JS non. Il sito verrà distribuito in una cartella diversa sul server rispetto alla radice che ottengo sulla mia casella di sviluppo.
Esiste un modo corretto per farlo?
Questo risolve il problema con l'installazione del sito in una sottodirectory poiché ~ viene sostituito con il percorso alla radice del sito. Ma il problema è che quando arrivo alla radice il file js si trova nella cartella Scripts sotto la root e non ... /../Scripts rimane. Poiché MVC si dirigerà verso diverse sottocartelle, lo script non è sempre disponibile da tutte le rotte. Ti ho dato +1 poiché almeno ora ho un modo per codificare i percorsi relativi alla radice. Ma aspetterò di vedere se qualcuno può spiegare perché funziona per il CSS fuori dalla scatola e non per JS. – jvanderh
Penso che il problema non sia css vs Javascript ma che tu abbia semplicemente il tuo css all'interno della tua cartella conetne e non lo script – Lewis