ASP.NET Core自定义锚标记帮助器

时间:2019-05-07 15:45:07

标签: c# asp.net-core asp.net-core-2.2

我需要自定义定位标记帮助程序,以检查是否没有asp-route-culture 属性,然后将其添加到集合中。

我确实创建了一个标签助手,如下所示:

[HtmlTargetElement("a-culture")]
public class ACultureTagHelper : AnchorTagHelper
{
    public ACultureTagHelper(IHtmlGenerator generator) : base(generator){}

    public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
    {
        output.TagName = "a";

        if (context.AllAttributes["asp-route-culture"] == null)
        {
            RouteValues.Add("culture", ViewContext.RouteData.Values["culture"].ToString());
        }

        await base.ProcessAsync(context, output);
    }
}

但是使用上面的代码,我不得不使用a-culture html标签witch对我而言并不理想。我想使用普通的a标签,然后默认将culture添加到所有链接。

0 个答案:

没有答案