Consejo útil, en cualquier aplicación ASP.NET, puede obtener una referencia del HttpContext actual
HttpContext.Current
que se deriva de System.Web. Por lo tanto, lo siguiente funcionará en cualquier lugar de una aplicación ASP.NET MVC:
UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext);
url.Action("ContactUs"); // Will output the proper link according to routing info
Ejemplo:
public class MyModel
{
public int ID { get; private set; }
public string Link
{
get
{
UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext);
return url.Action("ViewAction", "MyModelController", new { id = this.ID });
}
}
public MyModel(int id)
{
this.ID = id;
}
}
Llamar a la Link
propiedad en un objeto MyModel creado devolverá la URL válida para ver el Modelo basado en el enrutamiento en Global.asax