Asp.net core ASP.NET Core 2.0和TagHelper示例
我正在尝试使用ASP.NET Core 2.0实现以下功能。代码应该用与TagHelpers一起工作的锚定标记替换标记,并使用它作为模板重新创建我的项目,并且成功了。我对我的项目和正在工作的项目进行了比较,但我没有发现.sln或.csproj文件中有任何重大差异来解释这个问题 以下是TagHelper类:Asp.net core ASP.NET Core 2.0和TagHelper示例,asp.net-core,asp.net-core-tag-helpers,Asp.net Core,Asp.net Core Tag Helpers,我正在尝试使用ASP.NET Core 2.0实现以下功能。代码应该用与TagHelpers一起工作的锚定标记替换标记,并使用它作为模板重新创建我的项目,并且成功了。我对我的项目和正在工作的项目进行了比较,但我没有发现.sln或.csproj文件中有任何重大差异来解释这个问题 以下是TagHelper类: using Microsoft.AspNetCore.Razor.TagHelpers; using System.Threading.Tasks; namespace AuthoringT
using Microsoft.AspNetCore.Razor.TagHelpers;
using System.Threading.Tasks;
namespace AuthoringTagHelpers.TagHelpers
{
[HtmlTargetElement("email")]
public class EmailTagHelper : TagHelper
{
private const string EmailDomain = "contoso.com";
// Can be passed via <email mail-to="..." />.
// Pascal case gets translated into lower-kebab-case.
[HtmlAttributeName("mail-to")]
public string MailTo { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "a"; // Replaces <email> with <a> tag
var address = MailTo + "@" + EmailDomain;
output.Attributes.SetAttribute("href", "mailto:" + address);
output.Content.SetContent(address);
}
}
}
要使EmailTagHelper类可用于所有Razor视图,请将addTagHelper指令添加到views/_ViewImports.cshtml文件中:
@using AuthoringTagHelpers
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, AuthoringTagHelpers
您需要在_viewimports文件中添加上述代码。现在您已将其添加到视图中。谢谢。这是我尝试的第一件事,但没有成功。我尝试了相同的示例,在我的示例中,TagHelper基类没有被识别。上下文菜单Rosalyn/ReSharper中的解决方案之一?是在nuget.org上看到的。指向Microsoft.AspNetCore.Razor.Runtime。安装该软件包后,将识别TagHelper。
@addTagHelper *, AuthoringTagHelpers
@using AuthoringTagHelpers
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, AuthoringTagHelpers