如何使用属性显示名称DisplayNameFor()来构建表头.例如:
@model IEnumerable<Item>
<table class="table">
<thead>
<tr>
<td>@Html.DisplayNameFor(? => ?.prop1)</td>
<td>@Html.DisplayNameFor(? => ?.prop2)</td>
<td>@Html.DisplayNameFor(? => ?.prop3)</td>
</tr>
</thead>
<tbody>
@foreach (Item item in Model) {
<tr>
<td>@Html.DisplayFor(i => item.prop1)</td>
<td>@Html.DisplayFor(i => item.prop2)</td>
<td>@Html.DisplayFor(i => item.prop3)</td>
</tr>
}
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
我应该在问号上写什么?
在我当前的应用程序中,我正在生成一个相当冗长的表格以显示给用户.我已经看到了一些严重的性能问题,我已经追溯到使用@ Html.DisplayFor,我不完全确定原因.
编辑:我已经用更简洁和可重复的设置替换了代码示例.
为了解决这个问题,我使用visual studio中的所有默认设置创建了一个新的asp.net核心MVC项目,没有身份验证.我创建了一个视图模型:
public class TestingViewModel
{
public int Id { get; set; }
public string TextValue1 { get; set; }
public string TextValue2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后添加了一个控制器,它使用数据填充视图模型以传递给视图:
public IActionResult TestThings()
{
var list = new List<TestingViewModel>();
for(var i = 0; i < 1000; i++)
list.Add(new TestingViewModel {Id = i, TextValue1 = "Test", TextValue2 = "Test2"});
return View(list);
}
Run Code Online (Sandbox Code Playgroud)
视图是显示数据的最低限度:
@model List<DisplayForTest.ViewModels.TestingViewModel>
@foreach (var item in Model)
{
@Html.DisplayFor(m => item.Id)
@Html.DisplayFor(m => item.TextValue1)
@Html.DisplayFor(m => …Run Code Online (Sandbox Code Playgroud) 我有一个用 ASP.NET MVC 5 制作的 Web 应用程序。在这个应用程序中,我有一个显示信息列表的视图。
在这个列表中,我显示了一个boolean带有的信息@Html.DisplayFor(modelItem => item.valide)。所以 aCheckBox显示出来,它被选中和禁用。
我该怎么做才能disabled="disabled"从 中删除CheckBoxes?