How to call UrlHelper in Asp.net MVC?

I need to generate some URLs in a model in ASP.NET MVC. I'd like to call something like UrlHelper.Action() which uses the routes to generate the URL. I don't mind filling the usual blanks, like the hostname, scheme and so on.

Is there any method I can call for that? Is there a way to construct an UrlHelper?

Last updated:11/22/2014 1:17:59 AM

1 Answers

Anonymous User
Anonymous User

I like Omar's answer but that's not working for me. Just for the record this is the solution I'm using now:

var httpContext = HttpContext.Current;
if (httpContext == null) {
  var request = new HttpRequest('/', 'http://example.com', '');
  var response = new HttpResponse(new StringWriter());
  httpContext = new HttpContext(request, response);
}
var httpContextBase = new HttpContextWrapper(httpContext);
var routeData = new RouteData();
var requestContext = new RequestContext(httpContextBase, routeData);
return new UrlHelper(requestContext);

Answer