在 .Net Core 3.0 中找不到 System.Web.Mvc.UrlHelper.GenerateUrl



我正在尝试将 asp.net mvc 3.0移植到 Asp.Net Core 3.0,但现在我被困住了,在.Net Core 3.0中找不到UrlHelper.GenerateUrl。 即使是Microsoft.AspNetCore.Mvc.Routing中的UrlHelper也没有GenerateUrl,似乎它在.Net Core版本3.0中删除了。 有替代品吗?

您可以使用链接生成器。从文档中:

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 });
// ...
}
}

相关内容

最新更新