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。

戻り値

String

変換後の 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 Project パス」を参照してください。

注意

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

適用対象

こちらもご覧ください