Я пытаюсь создать собственный вспомогательный тег в MVC 6, но не могу заставить его работать.
Вот мой вспомогательный класс демонстрационного тега, определенный в проекте веб-приложения.
namespace Microsoft.AspNet.Mvc.TagHelpers
{
[TargetElement("demo", Attributes = CustomAttributeName)]
public class DemoTagHelper : TagHelper
{
private const string CustomAttributeName = "asp-custom";
[HtmlAttributeName(CustomAttributeName)]
public string Custom { get; set; }
public string Value { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "div";
output.Attributes["foo"] = "bar";
}
}
}
Вот как я использую это в своих представлениях:
<demo asp-custom="hello world!">
Please work this time :)
</demo>
Я пробовал много вещей. Удален атрибут TargetElement
или изменено пространство имен. Ничего не меняется... Результат тот же.
Кстати, моя версия Microsoft.AspNet.Mvc.TagHelpers — 6.0.0-beta4.
Может быть, мне нужно где-то зарегистрировать свой помощник по тегам? Я просмотрел исходные коды MVC, и они нигде не ссылались на свои собственные вспомогательные теги. Так что я думаю, что регистрация не нужна.
В чем здесь проблема?