Utworzono domyślny projekt ASP.net MVC. Na stronie wzorcowej mam następujący w górnymJak dołączyć pliki js do asp.net MVC i mieć poprawną ścieżkę na wszystkich trasach
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
</head>
I wtedy trzeba dodać plik JavaScript i dodaje linię następująco przeciągając plik z Solution Explorer do strony:
<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>
Kiedy uzyskać dostęp do witryny i spojrzeć na HTML w przeglądarce widzę tak:
<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>
plik CSS względna ścieżka została ustalona, ale plik JS nie. Witryna zostanie wdrożona w innym folderze na serwerze niż katalog główny, który dostaję w moim polu rozwoju.
Czy jest to właściwy sposób?
Rozwiązuje to problem z instalacją witryny w podkatalogu, ponieważ ~ jest zastąpione ścieżką do katalogu głównego witryny. Ale problem, że po dojściu do katalogu głównego plik js znajduje się w folderze Skrypty w katalogu głównym, a nie w ../../ Pozostaje skrypt. Ponieważ MVC będzie kierował do różnych podfolderów, skrypt nie będzie zawsze dostępny ze wszystkich tras. Dałem ci +1, ponieważ przynajmniej teraz mam sposób na kodowanie ścieżek względem katalogu głównego. Ale poczekam, aby sprawdzić, czy ktoś może wyjaśnić, dlaczego działa dla CSS po wyjęciu z pudełka, a nie dla JS. – jvanderh
Myślę, że problem nie jest css vs JavaScript, ale po prostu masz swoje css wewnątrz swojego folderu conetne, a nie twój skrypt – Lewis