Language

Control.ResolveUrl(String) メソッド

定義

URL を、要求側クライアントで使用できる 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が含まれている場合に発生します。

例

次の例では、 Image Web サーバー コントロール オブジェクトを作成し、 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 プロジェクト パス」を参照してください。

Note

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

適用対象

こちらもご覧ください