簡體   English   中英

如何在沒有ID或查詢的情況下獲取絕對路徑?

[英]How to Get the Absolutepath Without the Id or Query?

假設我的網址是“ https://www.mywebsite.com/app/company/employees/5 ”或“ https://www.mywebsite.com/company/employees?id=5&name=jack

我正在尋找一種獲取“基本”路徑或任何所謂路徑的方法。 就像“基本”路徑都將是“ / app / company / employees”一樣,而沒有“ / 5”部分或“?id = 5&name = jack”部分。

我正在使用string.Join("/", request.ApplicationPath, request.RequestContext.RouteData.Values["controller"], request.RequestContext.RouteData.Values["action"])來獲取它(請求是HttpRequestBase),但它也不符合我想要的方式,因為它也包含Index動作。 就像Url是“ https://www.mywebsite.com/app/company ”一樣,我希望“ / app / company /”而不是“ / app / company / Index”。 我總是可以檢查該動作是否為Index,但對我來說感覺像是一種“代碼異味”。

甚至有代碼味嗎? 有什么適當的方法可以做到這一點嗎?

Uri類提供了許多屬性https://docs.microsoft.com/zh-cn/dotnet/api/system.uri?view=netframework-4.7.2

嘗試這個

string val = HttpContext.Current.Request.Url.AbsolutePath;

或者如果您的請求變量是HttpRequest對象,請嘗試:

string val = request.Url.AbsolutePath;

使用HttpContext.Current.Request.Url.AbsolutePath

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM