как поделиться данными между taghelpers? - PullRequest
0 голосов
/ 16 мая 2019

У меня есть класс, который содержит два tagHelpers.

[htmlTargetElement("div")]
public class DivTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 //codes
}

[htmlTargetElement("button", ParentTag="div")]
public class ButtonTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 //codes
}

Один действует на DIV, а другой - на кнопки. Мне нужно сгенерировать значения в одном из tagHelpers (Div) и поделиться ими для других tagHelpers (Button).

Есть решение для этого?

1 Ответ

3 голосов
/ 16 мая 2019

вы должны использовать свойство TagHelperContext.items .

Это свойство представляет собой набор словарей, которые могут выступать в качестве места для обмена данными между тегами.

[htmlTargetElement("div")]
public class DivTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 context.Items["myData"]="somethings";
}


[htmlTargetElement("button", ParentTag="div")]
public class ButtonTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 string strName=context.Items["myData"];
}
...