У своїх програмах мені часто доводиться використовувати відносні шляхи. Наприклад, коли я посилаюся на JQuery, я зазвичай роблю так:
<script type="text/javascript" src="../Scripts/jquery-1.2.6.js"></script>
Тепер, коли я здійснюю перехід до MVC, мені потрібно враховувати різні шляхи, які може мати сторінка, відносно кореня. Звичайно, це було проблемою з переписуванням URL-адрес у минулому, але мені вдалося обійти це, використовуючи послідовні шляхи.
Мені відомо, що стандартним рішенням є використання абсолютних шляхів, таких як:
<script type="text/javascript" src="/Scripts/jquery-1.2.6.js"></script>
але це не спрацює для мене, оскільки під час циклу розробки я повинен розгорнутись на тестовій машині, на якій додаток буде працювати у віртуальному каталозі. Відносні шляхи корінців не працюють при зміні кореня. Крім того, з міркувань технічного обслуговування я не можу просто змінити всі шляхи протягом тривалості розгортання тесту - це був би сам кошмар.
То яке найкраще рішення?
Редагувати:
Оскільки це питання все ще отримує думки та відповіді, я вважаю, що може бути доцільним оновити його, щоб зауважити, що, як і для Razor V2, підтримується URL-адреса, що стосується коренів, і ви можете використовувати
<img src="~/Content/MyImage.jpg">
без будь-якого синтаксису на стороні сервера, і механізм перегляду автоматично замінює ~ / будь-яким поточним коренем сайту.