Control.ResolveUrl(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразует URL-адрес в адрес, доступный для клиента.
public:
System::String ^ ResolveUrl(System::String ^ relativeUrl);
public string ResolveUrl (string relativeUrl);
member this.ResolveUrl : string -> string
Public Function ResolveUrl (relativeUrl As String) As String
Параметры
- relativeUrl
- String
URL-адрес, связанный со свойством TemplateSourceDirectory.
Возвращаемое значение
Преобразованный URL-адрес.
Исключения
Происходит, если параметр relativeUrl
содержит null
.
Примеры
В следующем примере создается Image объект элемента управления веб-сервера и используется ResolveUrl метод , чтобы задать путь к изображению, которое хранится свойством ImageUrl .
public class MyResolveUrl:Control
{
private string _ImageUrl;
public string ImageUrl
{
get
{
return _ImageUrl;
}
set
{
_ImageUrl = value;
}
}
protected override void Render(HtmlTextWriter output)
{
Image myImage = new Image();
// Resolve Url.
myImage.ImageUrl = ResolveUrl(this.ImageUrl);
myImage.RenderControl(output);
}
}
Public Class MyResolveUrl
Inherits Control
Private _ImageUrl As String
Public Property ImageUrl() As String
Get
Return _ImageUrl
End Get
Set
_ImageUrl = value
End Set
End Property
Protected Overrides Sub Render(output As HtmlTextWriter)
Dim myImage As New System.Web.UI.WebControls.Image()
' Resolve Url.
myImage.ImageUrl = ResolveUrl(Me.ImageUrl)
myImage.RenderControl(output)
End Sub
End Class
Комментарии
relativeUrl
Если параметр содержит абсолютный URL-адрес, URL-адрес возвращается без изменений.
relativeUrl
Если параметр содержит относительный URL-адрес, этот URL-адрес изменяется на относительный URL-адрес, который является правильным для текущего пути запроса, чтобы браузер смог разрешить URL-адрес.
Например, рассмотрим следующий сценарий.
Клиент запросил страницу ASP.NET, содержащую пользовательский элемент управления с изображением, связанным с ним.
Страница ASP.NET находится в папке /Store/page1.aspx.
Пользовательский элемент управления находится в папке /Store/UserControls/UC1.ascx.
Файл образа находится в папке /UserControls/Images/Image1.jpg.
Если пользовательский элемент управления передает относительный путь к изображению (то есть /Store/UserControls/Images/Image1.jpg) ResolveUrl метод возвращает значение /Images/Image1.jpg.
Этот метод использует свойство для TemplateSourceDirectory разрешения в абсолютный URL-адрес. Возвращенный URL-адрес предназначен для использования клиентом.
Дополнительные сведения о путях к ресурсам на веб-сайте см. в разделе пути веб-проекта ASP.NET.
Примечание
Только для мобильных веб-страниц, если приложение использует сеансы без файлов cookie или может получать запросы от мобильных браузеров, требующих сеансов без файлов cookie, использование тильды ("~") в пути может привести к непреднамеренному созданию нового сеанса и потенциальной потере данных сеанса. Чтобы задать свойство с путем, например "~/path", разрешите путь, вызвав ResolveUrl с аргументом , например "~/path" , прежде чем присвоить его свойству.