自定义 TagHelper 在 ASP.NET Web 项目 (.Net 5) 中不起作用
Custom TagHelper does not work in a ASP.NET Web Project (.Net 5)
我有一个自定义 TagHelper,如文档中所述:A minimal Tag Helper
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace MyTagHelpers.TagHelpers
{
public class EmailTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "a"; // Replaces <email> with <a> tag
}
}
}
我将我的 EmailTagHelper 添加到 _ViewImports.cshtml
:
@addTagHelper *, MyTagHelpers
并在 Razor 页面上使用它
<email></email>
但是不行。
我的项目 Assembly Name
设置为 MyProject
。
文件MyProject.csproj
<PropertyGroup>
<AssemblyName>MyProject</AssemblyName>
</PropertyGroup>
因此,生成的程序集将具有文件名 MyProject.dll
为了使我的 EmailTagHelper
正常工作,我需要使用正确的程序集名称添加它:
@addTagHelper *, MyProject
有效,尽管我的 EmailTagHelper
的父名称空间仍然相同 MyTagHelpers
。
我有一个自定义 TagHelper,如文档中所述:A minimal Tag Helper
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace MyTagHelpers.TagHelpers
{
public class EmailTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "a"; // Replaces <email> with <a> tag
}
}
}
我将我的 EmailTagHelper 添加到 _ViewImports.cshtml
:
@addTagHelper *, MyTagHelpers
并在 Razor 页面上使用它
<email></email>
但是不行。
我的项目 Assembly Name
设置为 MyProject
。
文件MyProject.csproj
<PropertyGroup>
<AssemblyName>MyProject</AssemblyName>
</PropertyGroup>
因此,生成的程序集将具有文件名 MyProject.dll
为了使我的 EmailTagHelper
正常工作,我需要使用正确的程序集名称添加它:
@addTagHelper *, MyProject
有效,尽管我的 EmailTagHelper
的父名称空间仍然相同 MyTagHelpers
。