Полезный совет: в любом приложении ASP.NET вы можете получить ссылку на текущий HttpContext
HttpContext.Current
который получен из System.Web. Поэтому в любом месте приложения ASP.NET MVC будет работать следующее:
UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext);
url.Action("ContactUs"); // Will output the proper link according to routing info
Пример:
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;
}
}
Вызов свойства Link
для созданного объекта MyModel вернет действительный URL-адрес для просмотра модели на основе маршрутизации в Global.asax