다음과 같은 URL이 있습니다.
http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye
나는 http://www.example.com/mypage.aspx
그것을 얻고 싶다 .
어떻게 구할 수 있는지 말씀해 주시겠습니까?
답변
당신이 사용할 수있는 System.Uri
Uri url = new Uri("http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye");
string path = String.Format("{0}{1}{2}{3}", url.Scheme,
Uri.SchemeDelimiter, url.Authority, url.AbsolutePath);
아니면 사용할 수 있습니다 substring
string url = "http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye";
string path = url.Substring(0, url.IndexOf("?"));
편집 : 의견에 brillyfresh의 제안을 반영하도록 첫 번째 솔루션 수정.
답변
더 간단한 해결책은 다음과 같습니다.
var uri = new Uri("http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye");
string path = uri.GetLeftPart(UriPartial.Path);
여기에서 빌린 : 쿼리 문자열 자르기 및 깨끗한 URL 반환 C # ASP.net
답변
이것은 내 솔루션입니다.
Request.Url.AbsoluteUri.Replace(Request.Url.Query, String.Empty);
답변
Request.RawUrl.Split(new[] {'?'})[0];
답변
답변
내 길 :
new UriBuilder(url) { Query = string.Empty }.ToString()
또는
new UriBuilder(url) { Query = string.Empty }.Uri
답변
Request.Url.AbsolutePath
페이지 이름과 Request.Url.Authority
호스트 이름 및 포트 를 얻는 데 사용할 수 있습니다 . 나는 당신이 원하는 것을 정확하게 줄 수있는 빌트인 속성이 있다고 생각하지 않지만 직접 결합 할 수 있습니다.