재우니의 블로그

ASP.NET MVC : Referrer Uri 로 controller, action, area 명 알아내기

 

// Split the url to url + query string
var fullUrl = Request.UrlReferrer.ToString();
var questionMarkIndex = fullUrl.IndexOf('?');
string queryString = null;
string url = fullUrl;
if (questionMarkIndex != -1) // There is a QueryString
{    
    url = fullUrl.Substring(0, questionMarkIndex); 
    queryString = fullUrl.Substring(questionMarkIndex + 1);
}   

// Arranges
var request = new HttpRequest(null, url, queryString);
var response = new HttpResponse(new StringWriter());
var httpContext = new HttpContext(request, response)

var routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(httpContext));

// Extract the data    
var values = routeData.Values;
var controllerName = values["controller"];
var actionName = values["action"];
var areaName = values["area"];

 

 

https://stackoverflow.com/a/8838507

 

How do I get the Controller and Action names from the Referrer Uri?

There's a lot of information for building Uris from Controller and Action names, but how can I do this the other way around? Basically, all I'm trying to achieve is to get the Controller and Action

stackoverflow.com