2010-09-02 6 views

Odpowiedz

6

udało mi się dostać od tutaj:

String URL to RouteValueDictionary

Aby uzyskać powierzchnię z tym przykładzie użyłem.

obszarze String = routeData.DataTokens [ "obszar"] ToString();

-2

Można ciągnąć tę informację z trasach:

var controller = RouteData.Values["controller"]; 
var action = RouteData.Values["action"]; 
var action = RouteData.Values["area"]; 

Jeśli chodzi o łańcuch zapytania dotyczy można wyciągnąć go z wniosku:

var queryString = Request.Url.Query; 

UPDATE:

Jeśli adres URL pochodzi z DB:
var uri = new Uri(someStringThatRepresentsTheUrlAndComesFromADb); 
var queryString = uri.Query; 
+0

Hmm, to naprawdę fajne, ale ciąg adresu URL nie pochodzi z bieżącego kontekstu, pochodzi z DB. –

+0

@Ozzie, zapoznaj się z moją aktualizacją. –

+0

Dzięki, tak, mogę uzyskać kwerendę. Chodzi o to, aby naprawdę uzyskać obszar, kontroler, działanie. Czasami akcja ma końcowe "/", a czasami nie, więc odliczanie od prawej może wprowadzać w błąd. Z drugiej strony aplikacja może znajdować się w różnych strukturach katalogów w IIS, więc odliczanie pozycji od lewej nie jest proste ... –

Powiązane problemy