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

TemplateSourceDirectory プロパティに関連付けられた URL。

戻り値

変換後の URL。

例外

relativeUrl パラメーターが null を格納している場合に発生します。

次の例では、Web サーバー コントロール オブジェクトを 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 は、クライアント用です。

Web サイトのリソース パスの詳細については、「ASP.NET Web プロジェクト パス」を参照してください。

注意

モバイル Web ページの場合のみ、アプリケーションが Cookie レス セッションに依存している場合、または Cookie レス セッションを必要とするモバイル ブラウザーから要求を受信する可能性がある場合、パスでチルダ ("~") を使用すると、誤って新しいセッションが作成され、セッション データが失われる可能性があります。 "~/path" などのパスを持つプロパティを設定するには、"~/path" などの引数を指定して を ResolveUrl 呼び出してパス を解決してから、 プロパティに割り当てます。

適用対象

こちらもご覧ください