Я создал проект ASP.net MVC по умолчанию. В мастер-странице я следующее в верхнихКак включить js-файлы в 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 нет. Сайт будет развернут в другую папку на сервере, чем тот корень, который я получаю в своем окне разработки.
Есть ли правильный способ сделать это?
Это устраняет проблему с установкой сайта в подкаталоге, поскольку ~ заменяется на путь к корню сайта. Но проблема в том, что когда я добираюсь до корня, файл js находится в папке Scripts под корнем, а не ../../Scripts остается. Поскольку MVC будет перенаправляться в разные вложенные папки, сценарий не всегда доступен со всех маршрутов. Я дал вам +1, так как по крайней мере теперь у меня есть способ жестко кодировать пути относительно корня. Но я подожду, если кто-нибудь сможет объяснить, почему он работает для CSS из коробки, а не для JS. – jvanderh
Я думаю, что проблема не в css и Javascript, а в том, что вы просто используете свой css внутри своей папки conetne, а не ваш скрипт – Lewis