Razor 用标记帮助程序替换html帮助程序

Razor 用标记帮助程序替换html帮助程序,razor,view,asp.net-core-mvc,html-helper,tag-helpers,Razor,View,Asp.net Core Mvc,Html Helper,Tag Helpers,我想用视图中的标记帮助程序替换html帮助程序 为此,我将替换:@model IEnumerable 通过@model-IList 和@Html.DisplayNameFor(model=>model.Name) 通过 但是我应该使用的是:@Html.DisplayFor(modelItem=>item.Name) 看起来不对 更新:只是为了澄清问题:@Html.DisplayNameFor和当您使用IList时,您可以通过两种方式访问属性 @model IList<WebApp.Mod

我想用视图中的标记帮助程序替换html帮助程序

为此,我将替换:
@model IEnumerable

通过
@model-IList

@Html.DisplayNameFor(model=>model.Name)

通过

但是我应该使用的是:
@Html.DisplayFor(modelItem=>item.Name)

看起来不对


更新:只是为了澄清问题:
@Html.DisplayNameFor
当您使用
IList
时,您可以通过两种方式访问属性

@model IList<WebApp.Models.Person>

<input type="text" asp-for="@Model[0].Name" />

@foreach(var item in Model)
{
    <input type="text" asp-for="@item.Name" readonly/>

}

问题是:我应该只使用输入来显示信息吗?它以html格式生成文本框。我希望得到与@html.DisplayFor相同的结果,但使用标记帮助器。要显示信息,可以使用html标记和razor,如下所示<代码>
    @foreach(模型中的var项目){
  • @item.Name
  • }
@model IList<WebApp.Models.Person>
@{
var model2 = Model.ToList();
}

<input type="text" asp-for="@model2[0].Name" />

@foreach(var item in Model)
{
  <input type="text" asp-for="@item.Name" readonly/>
}