現在のページを取得するc#メソッドを作成したい。例:Default6.aspx次のことができることを知っています。
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx
string Host = HttpContext.Current.Request.Url.Host;
// localhost
しかし、どうすればDefault6.aspxを入手できますか? URLが http:// localhost:1302/TESTERS / の場合、私のメソッドはdefault.aspxを返す必要があります
Path.GetFileName( Request.Url.AbsolutePath )
必要なクラスはSystem.Uri
Dim url As System.Uri = Request.UrlReferrer
Debug.WriteLine(url.AbsoluteUri) ' => http://www.mysite.com/default.aspx
Debug.WriteLine(url.AbsolutePath) ' => /default.aspx
Debug.WriteLine(url.Host) ' => http:/www.mysite.com
Debug.WriteLine(url.Port) ' => 80
Debug.WriteLine(url.IsLoopback) ' => False
これを試して:
path.Substring(path.LastIndexOf("/");
以下のような単純な関数が役立ちます:
public string GetCurrentPageName()
{
string sPath = System.Web.HttpContext.Current.Request.Url.AbsolutePath;
System.IO.FileInfo oInfo = new System.IO.FileInfo(sPath);
string sRet = oInfo.Name;
return sRet;
}
これを以下で試すことができます。
string url = "http://localhost:1302/TESTERS/Default6.aspx";
string fileName = System.IO.Path.GetFileName(url);
お役に立てれば。
Request.Url.Segments.Last()
別のオプション。