Вопрос корневого каталога asp.net и Visual studio - PullRequest
1 голос
/ 30 апреля 2010

Я вижу что-то очень странное и подумал, что я спрошу сообщество Stackoverflow, знают ли они ответ.

У меня есть проект asp.net, который отлично работает в одной среде, но не смог понять, что случилось со стилями в другой среде.

В первой среде (Windows 2008 Server) следующая ссылка работала нормально:

<link href="/Styles/09/style.css" rel="stylesheet" type="text/css" />

но в другой среде (это Windows 7) мне пришлось изменить его на работу:

<link href="../Styles/09/style.css" rel="stylesheet" type="text/css" />

Обратите внимание, что каталоги, похоже, смещаются вперед на один каталог в Win7, что происходит? Это похоже на то, что «запущенный» каталог теперь выглядит как каталог \ bin вместо домашнего!

Какая среда настроена правильно? Как определить уровень каталога выполнения? Моя задача - продвинуться в среду разработки и угадать, какая конфигурация правильная.

Любое понимание будет оценено!

Ответы [ 4 ]

2 голосов
/ 30 апреля 2010

../ почти наверняка не так. Тем не менее, если у вас возникли проблемы в разных средах, просто /, вероятно, также неправильно. Попробуйте использовать оператор «~» для установки точного корня приложения.

Эта ссылка должна помочь вам понять, что именно происходит:
http://msdn.microsoft.com/en-us/library/ms178116.aspx

2 голосов
/ 30 апреля 2010

Первый способ - поиск по корневому пути, второй - сначала на один каталог вверх. Я предполагаю, что на первом сервере ваш сайт размещался в корневом каталоге (www.example.com/), а на втором сервере он размещался в подкаталоге (www.example.com/mysite/). Во втором случае он будет смотреть на www.example.com/Styles вместо предполагаемого www.example.com/mysite/Styles

.
1 голос
/ 30 апреля 2010

../ просто неправильно.

/ является корнем сайта. Если вы работаете на webdev, это будет корень вашего приложения. когда вы перемещаете свое приложение в IIS, оно становится корнем сайта IIS, например, http://localhost, не корень вашего приложения, http://localhost/yourApp.

Как говорит Джоэл, использование '~' может помочь решить эту проблему, но '~' работает только с тегами, которые обрабатываются страницей. Это не поможет вам найти пути в css или js, а также тег ссылки, если вы не добавите runat = server .. Я думаю. И даже это не поможет вам со статическими ресурсами, такими как html.

Добиться того, чтобы обеспечить согласованное поведение между вашей средой разработки и разработки, может быть непросто, но как только вы его получите, вы его получите.

0 голосов
/ 30 апреля 2010

Вы уверены, что настройки хостинга верны.

У меня были подобные проблемы в прошлом, когда gettig ncode работал в IIS вместо серверов dev.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...