Несмотря на то, что вы можете использовать префикс «/» для обозначения пути к корню домена, корень домена не всегда равен корню приложения в ASP.NET.Это также делает ваши скрипты хрупкими, если структура вашей среды разработки не соответствует вашей производственной среде.
Вместо этого используйте:
var arrowImages = { down: ['downarrowclass', '<%= Page.ResolveClientUrl("~/images/AppNavDownArrow.gif") %>', 23], right: ['rightarrowclass', '<%= Page.ResolveClientUrl("~/images/AppNavRightArrow.gif") %>'] }
Это будет гарантировать, что ваши пути указывают на кореньтекущего контекста приложения в IIS, будь то корневой каталог домена или виртуальный каталог.
Если вы не хотите размещать скрипт на своей странице и вместо этого хранить его в файле .js на главной странице/ layout / что угодно, создайте переменную, которая указывает на корень вашего приложения, а затем ссылайтесь на эту переменную в вашем файле скрипта:
<script type="text/javascript">
var configuration = {
applicationRoot: '<%= Page.ResolveClientUrl("~/") %>',
currentPath: '<%= HttpContext.Current.Request.Path %>'
}
</script>
В вашем файле скрипта:
var arrowImages = { down: ['downarrowclass', configuration.applicationRoot +'/images/AppNavDownArrow.gif', 23], right: ['rightarrowclass', configuration.applicationRoot +'/images/AppNavRightArrow.gif'] }