Control.ResolveUrl(String) Control.ResolveUrl(String) Control.ResolveUrl(String) Control.ResolveUrl(String) Method

定義

要求側クライアントで使用できる URL に変換します。Converts a URL into one that is usable on the requesting client.

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 String String String

TemplateSourceDirectory プロパティに関連付けられた URL。The URL associated with the TemplateSourceDirectory property.

戻り値

変換後の URL。The converted URL.

例外

relativeUrl パラメーターが null を格納している場合に発生します。Occurs if the relativeUrl parameter contains null.

次の例ではImage 、Web サーバーコントロールオブジェクトを作成ResolveUrlし、メソッドを使用して、 ImageUrlプロパティによって格納されるイメージへのパスを設定します。The following example creates an Image Web server control object and uses the ResolveUrl method to set the path to the image, which is stored by the ImageUrl property.

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 は変更されずに返されます。If the relativeUrl parameter contains an absolute URL, the URL is returned unchanged. パラメーターにrelativeUrl相対 url が含まれている場合、その url は、ブラウザーが url を解決できるように、現在の要求パスに適した相対 url に変更されます。If the relativeUrl parameter contains a relative URL, that URL is changed to a relative URL that is correct for the current request path, so that the browser can resolve the URL.

たとえば、次の場合を考えてください。For example, consider the following scenario:

  • クライアントが、イメージが関連付けられているユーザーコントロールを含む ASP.NET ページを要求しました。A client has requested an ASP.NET page that contains a user control that has an image associated with it.

  • ASP.NET ページは、/ストアにあります。The ASP.NET page is located at /Store/page1.aspx.

  • ユーザーコントロールは/Store/UserControls/UC1.ascx. にあります。The user control is located at /Store/UserControls/UC1.ascx.

  • イメージファイルは/UserControls/Images/Image1.jpg. にあります。The image file is located at /UserControls/Images/Image1.jpg.

ユーザーコントロールが、イメージへの相対パス (つまり、/Store/UserControls/Images/Image1.jpg) をResolveUrlメソッドに渡す場合、メソッドは値/images/image1.jpg」を返します。If the user control passes the relative path to the image (that is, /Store/UserControls/Images/Image1.jpg) to the ResolveUrl method, the method will return the value /Images/Image1.jpg.

このメソッドは、 TemplateSourceDirectoryプロパティを使用して、絶対 URL に解決します。This method uses the TemplateSourceDirectory property to resolve to the absolute URL. 返される URL は、クライアントで使用されます。The returned URL is for client use.

Web サイトのリソースパスの詳細については、「 ASP.NET Web Project paths」を参照してください。For more information on resource paths in a Web site, see ASP.NET Web Project Paths.

注意

モバイル Web ページの場合にのみ、アプリケーションが cookie なしのセッションに依存しているか、cookie 以外のセッションを必要とするモバイル~ブラウザーから要求を受信すると、パスでチルダ ("") を使用すると、誤って新しいセッションが作成される可能性があります。セッションデータが失われる可能性があります。For mobile Web pages only, if your application relies on cookieless sessions or might receive requests from mobile browsers that require cookieless sessions, using a tilde ("~") in a path can result in inadvertently creating a new session and potentially losing session data. ~"/~** ResolveUrl ** Path" などのパスを使用してプロパティを設定するには、プロパティに割り当てる前に、"path" などの引数を指定してを呼び出してパスを解決します。/To set a property with a path such as "~/path", resolve the path by calling the ResolveUrl with an argument such as "~/path" before assigning it to the property.

適用対象

こちらもご覧ください