ASP.Net Core 2.1-从子TagHelper读取TagHelper的父属性

时间:2019-01-04 07:33:26

标签: c# asp.net-core asp.net-core-tag-helpers

我想知道是否可以从ASP.Net Core 2.1 / 2.2版的子TagHelper元素访问父TagHelper的属性。

我正在寻找是否有可能建立Child-Parent TagHelper关系,使孩子可以以某种方式访问​​父级的属性之一(两个TagHelpers都是自定义TagHelpers)。需要明确的是,我有一段代码如下:

<radio-group>
    <radio asp-name="radio2" asp-value="one">Some text 1!</radio>
    <radio asp-name="radio2" asp-value="two">Some text 2!</radio>
    <radio asp-name="radio2" asp-value="three">Some text 3!</radio>
</radio-group>

从本质上讲,这只是标记为 radio-group 的单个元素内的表单上的一组单选按钮(此后变为具有单个类的 div 元素,而其他单选元素成为 type =“ radio” 的输入元素)。由于所有这些单选按钮在其组内共享相同的名称,因此我必须为每个按钮分配相同的名称。

现在,是否可以在 radio-group 元素上声明单个属性(例如, asp-child-name 属性),然后可以从子级访问该属性元素,这样我就不必为每个孩子分配 asp-name 属性?

1 个答案:

答案 0 :(得分:1)

万一有人偶然发现,我想出了解决我问题的方法。我不知道TagHelper Process的 context 属性的用途。我可以使用 context.Items.Add 方法轻松分配键-对象对,然后使用 context.Items.TryGetValue 方法从子TagHelper获取该对象值。 / p>