是否可以在局部视图中使用相同的 TagHelperContext?

Is it possible to use the same TagHelperContext in a partial view?

我有这个观点(工作正常):

<form asp-action="Edit" asp-orientation="Vertical" cit-ajax-modal="true">
    <modal id="language-modal" title="Hello World!">
        <modal-body>
            <validation-summary/>
            <form-group-select asp-for="CultureName" asp-items="@GlobalizationViewService.GetCultureSelectList()"/>
            <form-group-text asp-for="DisplayName"/>
            <form-group-checkbox asp-for="IsEnabled"/>
            <form-group-numeric asp-for="DefaultChance" />
        </modal-body>
        <modal-footer/>
    </modal>
</form>

现在我想将 form-group-* taghelpers 提取到局部视图中:

<validation-summary/>
<form-group-select asp-for="CultureName" asp-items="@GlobalizationViewService.GetCultureSelectList()"/>
<form-group-text asp-for="DisplayName"/>
<form-group-checkbox asp-for="IsEnabled"/>
<form-group-numeric asp-for="DefaultChance" />

那些使用由我的 FormTagHelper 元素创建的 TagHelperContext 的 TagHelper。

所以我的新观点是:

<form asp-action="Edit" asp-orientation="Vertical" cit-ajax-modal="true">
    <modal id="language-modal" title="Hello World!">
        <modal-body>
            @Html.Partial("EditElementsPartial")
        </modal-body>
        <modal-footer/>
    </modal>
</form>

但是,Partial 中的 TagHelperContext 不包括从我的 FormTagHelper 创建的任何项目。

我的基本动机是创建一个通用视图,供 UpdateCreate 视图使用。 form-group-* 应该从 form 标签中获取有关 asp-orientation 的信息。

Html.Partial 问题的解决方法是错误的吗?有什么更好的办法吗?是否可以将 TagHelperContext 传递给部分?

实现您想要的唯一方法是使用 ViewContext.ViewData 进行标签助手通信,如此处讨论:https://github.com/aspnet/Mvc/issues/3233#issuecomment-146027741