代码之家  ›  专栏  ›  技术社区  ›  Christian Gollhardt

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

  •  1
  • Christian Gollhardt  · 技术社区  · 7 年前

    我有这样的观点(很好):

    <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-* 将辅助对象标记到局部视图中:

    <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" />
    

    使用 TagHelperContext 由我创建 FormTagHelper 要素

    所以我的新观点是:

    <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>
    

    然而 TagHelperContext Partial 不包括从 FormTagHelper .

    我的基本动机是创建一个通用视图,供 Update Create 看法 “窗体”组-* 应获取有关 asp-orientation form 标签

    Html.Partial 对这个问题的错误解释?还有更好的方法吗?是否可以通过 TagHelperContext 到分部?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Christian Gollhardt    6 年前

    实现你想要的唯一方法就是 ViewContext.ViewData 对于标记帮助器通信,如下所述: https://github.com/aspnet/Mvc/issues/3233#issuecomment-146027741