Control.ResolveUrl(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
要求側クライアントで使用できる 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 Project パス」を参照してください。
注意
モバイル Web ページの場合のみ、アプリケーションが Cookie レス セッションに依存している場合や、Cookie レス セッションを必要とするモバイル ブラウザーからの要求を受信する可能性がある場合、パスにチルダ ("") を~使用すると、誤って新しいセッションが作成され、セッション データが失われる可能性があります。 "~/path" などのパスを持つプロパティを設定するには、プロパティに割り当てる前に ResolveUrl 、"~/path" などの引数を使用してパスを呼び出してパスを解決します。