Прежде всего, я не знаю, почему вы используете такие директивы в ASP.NET MVC, потому что есть и другие лучшие варианты, такие как Partials, Sections и т. Д.
Однако, если вы действительно это делаетеЕсли вы хотите использовать эти директивы, вы можете получить относительные пути, используя помощник
Url
.
ОБНОВЛЕНИЕ
Вы используете Url
вспомогательные методынапример, Url.Content (), Url.Action (), Url.ActionLink () для создания ссылок в ASP.NET MVC.
Например, это приведет к отображению относительного пути к файлу bottom.shtml в типичном представлении ASP.NET MVC Razor:
#include virtual=@Url.Content("~/include/bottom.shtml")
Теперь ваши проблемы связаны с использованием include
, которыйпо-видимому, внутри комментария HTML.Я могу только объяснить свои наблюдения.Если я сделаю это в моем View
<!-- @Url.Content("~/public/images/foobar.png") -->
и это для механизма просмотра ASP.NET MVC WebForms
<!-- <%=Url.Content("~/public/images/foobar.png")%> -->
, я получу это от браузера в источнике веб-страницы обоимиПредыдущие предложения:
<!-- /public/images/foobar.png -->
Таким образом, я считаю, что это работает, но я также думаю, что вам может понадобиться немного больше изучения ASP.NET MVC.