Muszę mieć dostęp do pełnego adresu URL strony, na której się znajduję, z poziomu kontrolki użytkownika. Czy jest to tylko kwestia połączenia razem kilku zmiennych żądania? Jeśli tak, które? A może jest prostszy sposób?
c#
asp.net
user-controls
Czerwone Wilki
źródło
źródło
Odpowiedzi:
Zwykle używam,
Request.Url.ToString()
aby uzyskać pełny adres URL (w tym querystring), nie jest wymagana żadna konkatenacja.źródło
Request.Url.ToString()
nie zawiera queryString.Oto lista, do której zwykle odwołuję się w przypadku tego typu informacji:
Mamy nadzieję, że okaże się to przydatne!
źródło
Request.QueryString
q=qvalue
tylko zwracaTa właściwość robi wszystko, czego potrzebujesz, wszystko w jednym zwięzłym połączeniu.
źródło
Dla
ASP.NET Core
trzeba przeliterować:Możesz też dodać do swojego widoku instrukcję using:
następnie
To
_ViewImports.cshtml
może być lepsze miejsce do tego@using
źródło
Request.RawUrl
źródło
jeśli potrzebujesz pełnego adresu URL jako wszystkiego, od http po kwerendę, będziesz musiał połączyć następujące zmienne
źródło
Lepiej używać
Request.Url.OriginalString
niżRequest.Url.ToString()
(według MSDN )źródło
OriginalString
.Dzięki chłopaki, użyłem kombinacji obu twoich odpowiedzi @Christian i @Jonathan dla mojej konkretnej potrzeby.
Nie muszę się martwić o bezpieczny http, potrzebuję zmiennej servername, a RawUrl obsługuje ścieżkę z nazwy domeny i zawiera kwerendę, jeśli jest obecna.
źródło
Jeśli potrzebujesz również numeru portu, możesz użyć
Przykład:
źródło
Wypróbuj następujące rozwiązania -
źródło