gpt4 book ai didi

c# - ASP.NET 核心 : HtmlHelper extension (migration issue)

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:10 26 4
gpt4 key购买 nike

我正在尝试更新旧 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 需要更多信息。与旧项目中的 3 个参数不同,它现在需要 8 个参数,其中两个是协议(protocol)和主机名。但是我不确定如何在不访问 HttpContext 的情况下在静态类中获取主机名和协议(protocol)。

最佳答案

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

这意味着所有链接扩展(HtmlHelperLinkExtensions)也已切换到界面。

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

关于c# - ASP.NET 核心 : HtmlHelper extension (migration issue),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54362433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com