是否可以在局部视图中使用相同的 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
创建的任何项目。
我的基本动机是创建一个通用视图,供 Update
或 Create
视图使用。 form-group-*
应该从 form
标签中获取有关 asp-orientation
的信息。
Html.Partial
问题的解决方法是错误的吗?有什么更好的办法吗?是否可以将 TagHelperContext
传递给部分?
实现您想要的唯一方法是使用 ViewContext.ViewData
进行标签助手通信,如此处讨论:https://github.com/aspnet/Mvc/issues/3233#issuecomment-146027741
我有这个观点(工作正常):
<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
创建的任何项目。
我的基本动机是创建一个通用视图,供 Update
或 Create
视图使用。 form-group-*
应该从 form
标签中获取有关 asp-orientation
的信息。
Html.Partial
问题的解决方法是错误的吗?有什么更好的办法吗?是否可以将 TagHelperContext
传递给部分?
实现您想要的唯一方法是使用 ViewContext.ViewData
进行标签助手通信,如此处讨论:https://github.com/aspnet/Mvc/issues/3233#issuecomment-146027741