Не удается найти System.Web.Mvc.UrlHelper.GenerateUrl в .Net Core 3.0 - PullRequest
1 голос
/ 14 октября 2019

Я пытаюсь перенести asp.net mvc 3.0 на Asp.Net Core 3.0, но сейчас я застрял и не могу найти UrlHelper.GenerateUrl в .Net Core 3.0. даже UrlHelper в Microsoft.AspNetCore.Mvc.Routing не имеет GenerateUrl, похоже, он удален в .Net Core версии 3.0. есть ли замены?

1 Ответ

3 голосов
/ 14 октября 2019

Вы можете использовать LinkGenerator . Из документации :

генерация URL основана на адресах, которые поддерживают произвольную расширяемость:

API генератора ссылок (LinkGenerator) может быть разрешен в любом месте с использованием зависимостивнедрение (DI) для создания URL-адресов.

Если API-интерфейс генератора ссылок недоступен через DI, IUrlHelper предлагает методы для создания URL-адресов.

Пример DI:

public class MyController : Controller
{
    private readonly LinkGenerator _linkGenerator;

    public MyController(LinkGenerator linkGenerator)
    {
        _linkGenerator = linkGenerator;
    }

    public IActionResult Index()
    {
        var url = _linkGenerator.GetPathByAction(nameof(Index), "My", new { someParameter });

        // ...
    }
}
...