3

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

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

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

4

1 回答 1

3

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

<inputField>您可以通过确保元素仅出现在标签内来部分解决您的问题<blockSection>(不会限制您将内容<p>放在 a 内<blockSection>)。可以通过使用context.Itemsbag 来通知 anInputFieldTagHelper它被(或不是)封装在<blockSection>. 有关如何在 child => parent 之间进行通信的信息,请参阅此问题。

如果你愿意等待这个 Razor 问题完成;您将能够强制执行哪些标签可以出现在您的TagHelper.

另一个类似的 SO问题供参考。

于 2015-08-09T23:16:44.627 回答