Для получения информации о проблеме относительного пути - я обсуждал это здесь (та же концепция применима к любой странице, а не только к основным страницам). Подход, который я использовал, выглядит так:
1: объявить метод расширения для добавления сценариев:
public static string Script(this HtmlHelper html, string path)
{
var filePath = VirtualPathUtility.ToAbsolute(path);
return "<script type=\"text/javascript\" src=\"" + filePath + "\"></script>";
}
2: при необходимости (например, в <head>...</head>
) используйте этот метод:
<%=Html.Script("~/Scripts/jquery-1.2.6.js")%>
Преимущество этого в том, что оно будет работать, даже если веб-приложение размещено в виртуальном каталоге (т.е. вы не можете использовать «/ Scripts», потому что вы не обязательно находитесь в корне сайта) - но это намного понятнее (и менее грязно), чем полный скрипт с munged src, т.е.
<script ... src="<%=Url.Foo(...)%>"></script>