【问题标题】:How to pass display name of table header to partial view如何将表头的显示名称传递给部分视图
【发布时间】:2019-07-19 09:10:54
【问题描述】:

我正在尝试将表头名称传递给部分视图,因为我想为每个表头显示一些排序和搜索控件。

这是我的部分观点:

@model string

<div class="dropdown">
    <button class="btn btn-secondary dropdown-toggle table-header-button" type="button" data-toggle="dropdown">@Model</button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#"><img src="/icons/arrow-up.svg" alt="ascending"> Aufsteigend</a>
        <a class="dropdown-item" href="#"><img src="/icons/arrow-down.svg" alt="descending"> Absteigend</a>
        <nav class="dropdown-item navbar navbar-light bg-light">
            <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
        </nav>
    </div>
</div>

这就是我尝试将模型传递给局部视图的方式:

<div class="table-responsive">
    <table class="table">
        <thead>
            <tr>
                <th>
                    <partial name="_TableHeader" for="@Html.DisplayNameFor(model => model.FirstName)" />                    
                </th>
                ...
            </tr>
        <thead>
    </table>
</div>

但是,当我这样做时,我的表格视图中总是会出现错误"Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions."。我尝试为局部视图创建类型化模型,但产生了相同的错误。

那么我怎样才能摆脱这个错误呢?

【问题讨论】:

    标签: asp.net-core asp.net-mvc-partialview


    【解决方案1】:

    尝试使用部分标签助手的model 属性,如下所示

     <partial name="_TableHeader" model="@Html.DisplayNameFor(model=>model.FirstName)" />
    

    对于 Partial Tag Helper ,你可以参考这个链接: https://www.learnrazorpages.com/razor-pages/tag-helpers/partial-tag-helper

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多