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.

Возвращаемое значение

String

Преобразованный 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-адрес, он возвращается без изменений. Если relativeUrl параметр содержит относительный URL-адрес, этот URL-адрес изменяется на относительный URL-адрес, соответствующий текущему пути запроса, чтобы браузер мог разрешить URL-адрес.

Например, рассмотрим следующий сценарий.

  • Клиент запросил страницу ASP.NET, содержащую пользовательский элемент управления с связанным с ним изображением.

  • Страница ASP.NET находится по адресу/Store/Page1.aspx.

  • Пользовательский элемент управления расположен по адресу/Store/UserControls/UC1.ascx.

  • Файл изображения находится по адресу/Усерконтролс/имажес/Image1.jpg.

Если пользовательский элемент управления передает относительный путь к изображению (то есть/Сторе/усерконтролс/имажес/Image1.jpg) ResolveUrl методу, метод возвратит значение/Images/Image1.jpg.

Этот метод использует TemplateSourceDirectory свойство для разрешения в абсолютный URL-адрес. Возвращаемый URL-адрес предназначен для использования клиентом.

Дополнительные сведения о путях ресурсов на веб-сайте см. в разделе ASP.NET Web Project paths.

Примечание

Для мобильных веб-страниц, если приложение использует сеансы без файлов cookie или может принимать запросы от мобильных браузеров, требующих сеансов без файлов cookie, использование тильды (" ~ ") в пути может привести к случайному созданию нового сеанса и потере данных сеанса. Чтобы задать свойство с путем, например " ~ / path", необходимо разрешить путь, вызвав метод ResolveUrl с аргументом, таким как " ~ / path" , перед его присвоением свойству.

Применяется к

См. также раздел