我正在尝试创建一个具有一列行的网络网格。行数将取决于模型中传入的电子邮件地址(字符串)的数量。下面是视图的代码:
@model BarClients.Models.BarClientsViewModel
@{
var grid = new WebGrid(Model.EmailAddressesOfChosenClient, ajaxUpdateContainerId: "gridContent");
int rowIndex = 0;
if (Model.EmailAddressesOfChosenClient != null)
{
foreach (var email in Model.EmailAddressesOfChosenClient)
{
grid.Rows.Add(new WebGridRow(grid, email, rowIndex++));
}
}
}
div id="gridContent"
@grid.GetHtml()
/div (arrows removed).
在@grid。GetHtml(),我收到错误:必须先绑定数据源,然后才能执行此操作。
我想要做什么可能吗?非常感谢。
您不需要添加行。当您调用 @grid.GetHtml()
时,它们将自动生成。
本文将介绍如何使用WebGrid
,甚至根据需要对其进行改进以安全键入。
呈现网格的最低代码如下所示:
@{
var grid = new WebGrid(Model, defaultSort:"Name");
}
@grid.GetHtml()
其中Model
是对象的IEnumerable<T>
,例如List<T>
。(嗯,比 minimun 多一点:这将按 Name
对网格进行排序,并且Name
必须是枚举对象的属性)。
当然,您可以通过定义列、格式等来"微调"它。