Control.ResolveUrl メソッド
要求側クライアントで使用できる URL に変換します。
名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文
'宣言
Public Function ResolveUrl ( _
relativeUrl As String _
) As String
'使用
Dim instance As Control
Dim relativeUrl As String
Dim returnValue As String
returnValue = instance.ResolveUrl(relativeUrl)
public string ResolveUrl (
string relativeUrl
)
public:
String^ ResolveUrl (
String^ relativeUrl
)
public String ResolveUrl (
String relativeUrl
)
public function ResolveUrl (
relativeUrl : String
) : String
適用できません。
パラメータ
- relativeUrl
TemplateSourceDirectory プロパティに関連付けられた URL。
戻り値
変換後の URL。
例外
例外の種類 | 条件 |
---|---|
relativeUrl パラメータが null 参照 (Visual Basic では Nothing) を格納している場合に発生します。 |
解説
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 を呼び出してパスを解決してから、そのパスをプロパティに割り当てます。 |
使用例
Image Web サーバー コントロール オブジェクトを作成し、ResolveUrl メソッドを使用して、ImageUrl プロパティに格納されているイメージのパスを設定する例を次に示します。
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
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 extends Control
{
private String _ImageUrl;
/** @property
*/
public String get_ImageUrl()
{
return _ImageUrl;
} //get_ImageUrl
/** @property
*/
public void set_ImageUrl(String value)
{
_ImageUrl = value;
} //set_ImageUrl
protected void Render(HtmlTextWriter output)
{
Image myImage = new Image();
// Resolve Url.
myImage.set_ImageUrl(ResolveUrl(this.get_ImageUrl()));
myImage.RenderControl(output);
} //Render
} //MyResolveUrl
プラットフォーム
Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 3.0,2.0,1.1,1.0
参照
関連項目
Control クラス
Control メンバ
System.Web.UI 名前空間
TemplateSourceDirectory