我试图将表头名称传递给局部视图,因为我想为每个表头显示一些排序和搜索控件。
这是我的部分观点:
@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."
。我尝试为部分视图创建类型化的模型,但是产生了相同的错误。
那么如何摆脱这个错误?
答案 0 :(得分: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