我希望能够使用当前页面的网址并从最后一次提取/
例如,如果我的网址是:http://myintranet/guidelines/Home/Pages/mymed.aspx
我想提取mymed
。
到目前为止,我有这个:
string strEntity = HttpContext.Current.Request.Url.AbsolutePath;
Label2.Text = strEntity;
显示:
/guidelines/Home/Pages/mymed.aspx
我尝试使用Split("\\").Last();
,但这对它不起作用,并说不能将字符串[]分配给字符串...
答案 0 :(得分:8)
您可以使用System.IO.Path
类中的GetFileNameWithoutExtension
方法:
var uri = HttpContext.Current.Request.Url;
string fileName = Path.GetFileNameWithoutExtension(uri.AbsolutePath);
答案 1 :(得分:4)
Uri uri = new Uri("http://myintranet/guidelines/Home/Pages/mymed.aspx");
var segments = uri.Segments;
//do something with the array of segments
编辑:如上所述,您不需要创建一个Uri,因为您已有一个:
var lastPart = HttpContext.Current.Request.Url.Segments.Last();
答案 2 :(得分:3)
Uri uri = new Uri("http://myintranet/guidelines/Home/Pages/mymed.aspx");
var segments = uri.Segments;
var last = segments.Last(); //to get the last
var mymed = last.Split(".")[0]; //to separate the name from the extention
答案 3 :(得分:1)
您可以尝试这样的事情:
var ub = new UriBuilder("http://myintranet/guidelines/Home/Pages/mymed.aspx");
NameValueCollection nvc = HttpUtility.ParseQueryString(ub.Query);
string page = nvc[nvc.Count - 1];