我在.NET Core中工作,并为自己创建了一个自定义标记助手:
namespace Phoneden.Web.TagHelpers
{
using Microsoft.AspNetCore.Razor.TagHelpers;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
public class SidebarLink : TagHelper
{
private const string ActiveClass = "active";
[HtmlAttributeName("asp-controller")]
public string Controller { get; set; }
[HtmlAttributeName("asp-action")]
public string Action { get; set; }
public string Icon { get; set; }
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
// code omitted
}
}
}
然后我进入_ViewImports.cshtml
中的~/Views/
并添加了以下内容:
@using Microsoft.AspNetCore.Identity
@using Phoneden.Web
@using Phoneden.Web.Models
@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
@addTagHelper "*, Phoneden.Web.TagHelpers"
但出于某种原因,当我想使用自定义标记帮助程序时,Visual Studio会在其下面绘制一条波浪线,说它无法解析它。我试图像这样使用它:
<sidebar-link asp-controller="Supplier" asp-action="Page" icon="work"></sidebar-link>
我错过了什么?