ASP.NET 5 个复杂的 TagHelper

ASP.NET 5 Complex TagHelper

是否可以在 ASP.NET 5 中构建复杂的 taghelper,其中自定义标签具有特定类型的子 elements/tags?

<blockSection columns="2" labelPosition="left">
   <inputField for="name" />
   <inputField for="email" required="true"/>
</blockSection>

在上面的例子中,blockSection 将是一个只接受 inputField 标签的 TagHelper。

如果没有一大堆诡计(自己解析标签主体或创建一个针对所有内容的 TagHelper),您今天 (beta6) 无法 100% 做到这一点。

您可以通过确保 <inputField> 元素只出现在 <blockSection> 标签内来部分解决您的问题(不会限制您将 <p> 之类的东西放在 <blockSection>).可以通过使用 context.Items 包来通知 InputFieldTagHelper 它已(或未)被 <blockSection> 封装来完成。有关如何在 child => parent.

之间进行通信的信息,请参阅 this issue

如果您愿意等待 this Razor issue 完成;您将能够强制在 TagHelper.

中显示哪些标签

另一个类似的SO issue供参考