Привет Я развертываю приложение MVC в IIS на Win7. Я развернул его на localhost/appPortal. appPortal настроен как приложение, а не виртуальный каталог. К сожалению, корень приложения в MVC сопоставляется с localhost вместо localhost/appPortal. Это разрушает все мои ссылки на скрипты, css, изображения и т. Д. Может ли кто-нибудь помочь мне понять, почему это происходит и как его исправить?ASP.Net MVC Application указывает на localhost вместо каталога приложения
ответ
Дополнительная информация будет интересна в отношении того, как вы создаете ссылки.
Первое, что нужно проверить, это то, что приложение правильно создано в IIS, и я полагаю, что это так. (Если нет, то вы, вероятно, получите ошибки из вложенных файлов web.config)
Вторая вещь, URLs должны быть созданы, как это и не напрямую:
<%= Url.Content("~/yourpath/yourfile.css") %>
Может быть, это question about Url.Content показывает вам больше возможностей. Проверьте также документацию MSDN на UrlHelper и HtmlHelper.
Лучшее решение - не использовать укороченные ссылки в вашем приложении (те, которые начинаются с /). Вы можете использовать ~/в качестве ссылки на корень приложения. Я использую такие вещи
<script src="<%=ResolveClientUrl("~/script/something.js") %>"
для решения/скриптов. Это сделает ваше приложение более портативным.
Вы также можете использовать тип документа HTML 5 и тег <base>
.
Да, я просто сделал это.
Это, вероятно, не вариант, поэтому вы должны использовать помощник URL, как заявил Марк.
- 1. UriBuilder указывает на localhost вместо имени домена
- 2. ASP.NET MVC Sub Application
- 3. confirm_url указывает на localhost
- 4. ASP.NET MVC Application Variables?
- 5. asp.net mvc application application root issue
- 6. ASP.net Просмотр каталога MVC
- 7. Публикация ASP.NET MVC/AngularJS Application
- 8. Запуск приложения asp.net на localhost
- 9. localhost connection (ASP.NET MVC)
- 10. vb.net asp.net webforms application> C# asp.net mvc razor application
- 11. Листинг каталога вместо приложения
- 12. ASP.NET MVC Application Design
- 13. ASP.NET MVC Application URL Schema
- 14. Url.Action не указывает на localhost
- 15. ASP.NET MVC Web Application Vs Web Application
- 16. 500,22 для подкаталогов файлов на корневом приложении ASP.NET с ребенком виртуального каталога ASP.NET MVC приложения
- 17. Загрузка тестирования на asp.net mvc 4 application
- 18. Ошибка в ASP.NET MVC Application
- 19. Asp.net mvc 5 change mvc application culture
- 20. Mangento на localhost указывает на сайт
- 21. Защита ASP.NET MVC Application Checklist
- 22. Restart asp.net MVC 6 Application
- 23. asp.net mvc application throw controller exception при развертывании приложения
- 24. Ошибка при использовании приложения ASP.net MVC в Umbraco Application IIS
- 25. Разница между созданием приложения Rails и ASP.NET MVC Application?
- 26. ASP.net MVC cross application POST request
- 27. asp.net mvc modular application howto/рекомендации
- 28. Mocking Database call Asp.net MVC application
- 29. ASP.Net MVC Wrong Application Root Path
- 30. Создать ссылку для asp.net mvc application
На самом деле приложение разработано другой командой, которая размещает его на своем корневом сервере IIS. Все ссылки на активы используют относительные пути, выбранные VS2008 во время разработки. Приложение означает, что представления отображаются правильно, но скрипты, CSS не работают. Мне нужно изменить ref. для всего статического контента, такого как ваше решение? – Hemant
Проблема в том, что JS не знает vdir. Наше решение прямо сейчас создает объект JS в скрипте, вызванном из мастера, который имеет свойство со значением текущего пути vdir, то есть: Globals.rootPath = "/ vdir /" или "/", если это субдомен. Для ссылки на CSS и скрипты мы используем Url.Content. –