2010-08-18 5 views
1

이 코드 줄에서는;C# URL을 원하지만 물리적 경로 이름이 아님

string link = HttpContext.Current.Server.MapPath("/Contract/Details/" + this.ContractId.ToString()); 

C 드라이브에 물리적 경로 이름이 표시됩니다.

내가 원하는 내가 이것을 어떻게받을 수 있나요 즉,

http://localhost:1234/Contract/Details/1 

URL입니다?

답변

4
// Use the Uri constructor to form a URL relative to the current page 
Uri linkUri = new Uri(HttpContext.Current.Request.Url, "/Contract/Details/" + this.ContractId.ToString()); 
string link = linkUri.ToString(); 
+0

정답입니다. – arame3333

4

이 시도 :

string url = HttpContext.Current.Request.Url.AbsoluteUri; 
+0

현재 요청 URL을 반환합니다. "/ 계약/세부 정보/1"이 아닐 수도 있습니다. –

+0

올바르지 않습니다. 안토니오와 팀이 이것에 맞습니다. – arame3333

0

uri_base = new uri ("http://localhost:1234/";);

Uri file = new Uri (호스트, "/ Contract/Details /"+ this.ContractId.ToString());

문자열 URL = file.AbsoluteUri;

+0

Tim Robinson의 답변이 현재 요청 호스트를 사용하기 때문에 더 좋습니다. –

관련 문제