我需要自定义定位标记帮助程序,以检查是否没有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
添加到所有链接。