How to parse a string URL into MVC Route Values (area, controller, action, querystring)?

15k Views Asked by At

Is there a method to extract the area, controller, action, and querystring from a URL in ASP.NET MVC? Don't want to reinvent the wheel implementing my own if there's already a way to do it.

Thanks!

2

There are 2 best solutions below

0
On BEST ANSWER

I was able to get it from here:

String URL to RouteValueDictionary

To get the area from this example I used:

string area = routeData.DataTokens["area"].ToString();

2
On

You could pull this information from the routes:

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

As far as the query string is concerned you could pull it from the Request:

var queryString = Request.Url.Query;

UPDATE:

If the url is coming from a DB:

var uri = new Uri(someStringThatRepresentsTheUrlAndComesFromADb);
var queryString = uri.Query;