ASP.NET核心:HtmlHelper扩展(迁移问题)



我正在尝试更新旧MVC项目(.NET Framework 4.5.2)中的一些代码,以便使用.NET Core 2.2。我被HtmlHelper的一个扩展方法卡住了,该方法正在字符串中生成一个链接。

public static HtmlString GetMenu(this HtmlHelper htmlHelper)
{
htmlString += string.Format("<li{0}>{1}</li>",
controller == "Examples" ? " class="selected"" : "",
htmlHelper.ActionLink("Examples", "Index", "Examples")
);
}

HtmlHelper类位于.NET Core中的Microsoft.AspNetCore.Mvc.ViewFeatures中,但ActionLink方法需要更多信息。它现在需要8个参数,其中两个是协议和主机名,而不是旧项目中的3个参数。但我不知道如何在不访问HttpContext的情况下获得静态类中的主机名和协议。

在ASP.NET Core中,以前称为HtmlHelper的类现在已被接口IHtmlHelper所取代。

这意味着所有链路扩展(HtmlHelperLinkExtensions)也已切换到该接口。

https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.rendering.htmlhelperlinkextensions?view=aspnetcore-2.2

相关内容

  • 没有找到相关文章

最新更新