7 ответов:
Это Url.Содержание:
ASPX:
<link rel="stylesheet" href="<%= Url.Content("~/Content/style.css") %>" type="text/css" />бритвы:
<link rel="stylesheet" href="@Url.Content("~/Content/style.css")" type="text/css" />
здесь целая куча способов решить путь, который использует приложения корень оператор (
~)
UrlHelper.ContentHttpServerUtility.MapPathWebPageExecutingBase.HrefVirtualPathUtility.ToAbsoluteControl.ResolveUrlдля вызова любого метода со встроенным кодом на asp.net страница, метод либо должен быть представлен как переменная экземпляра для текущего объекта или доступна как статический / общий метод.
типичная страница MVC дает нам доступ к довольно многим из них в качестве свойств через
WebViewPage. Никогда не задумывались, когда вы набираете@ViewData, вы получаете волшебным образом подключены к ViewData? Это потому, что вы попали в свойство, представленное на странице MVC, на которой вы находитесь.таким образом, чтобы вызвать эти методы, мы не обязательно ссылаемся на тип, который они представляют, но свойство экземпляра, которое выставить их.
мы можем вызвать описанные выше методы экземпляра следующим образом (соответственно):
href="@Url.Content("~/index.html")" href="@Server.MapPath("~/index.html")" href="@Href("~/index.html")"мы можем сделать это, чтобы вызвать общий метод, который не нуждается в экземпляре:
href="@VirtualPathUtility.ToAbsolute("~/index.html")"AFAIK, страница MVC не создает автоматически экземпляр чего-либо из системы.Сеть.Пространство имен UI, из которого
ResolveUrlнаследует. Если по какой-то причине вы действительно хотите использовать этот конкретный метод, вы можете просто создать элемент управления и использовать методы, которые он предоставляет, но я бы настоятельно рекомендую против него.@Code Dim newControl As New System.Web.UI.Control Dim resolvedUrl = newControl.ResolveUrl("~/index.html") End Code href="@resolvedUrl"что все сказали, я бы рекомендовал использовать
@Url.Contentкак это лучше всего подходит для парадигм MVC
UrlHelper.Content()делает то же самое какControl.ResolveUrl().Для Дальнейших Ссылок: http://stephenwalther.com/archive/2009/02/18/asp-net-mvc-tip-47-ndash-using-resolveurl-in-an-html.aspx
вам больше не нужно делать это в Razor v2.0/ASP.NET MVC 4.
просто используйте " ~ " на странице бритвы, и он разрешит его для вас.
<link rel="stylesheet" href="~/Content/style.css" type="text/css" />
Comments