我正在尝试创建一个包含一列行的webgrid。行数取决于模型中的电子邮件地址(字符串)数量。这是视图的代码:
@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()中,我收到错误:必须绑定数据源才能执行此操作。
甚至可能我想做什么?非常感谢。
答案 0 :(得分:2)
您无需添加行。当您致电@grid.GetHtml()
时,系统会自动生成这些内容。
This article向您展示如何使用WebGrid
,如果您愿意,甚至可以改进它以便安全地输入。
呈现网格的最小代码如下所示:
@{
var grid = new WebGrid(Model, defaultSort:"Name");
}
@grid.GetHtml()
其中Model
是IEnumerable<T>
个对象,例如List<T>
。 (嗯,有一点比minimun更多:这将按Name
对网格进行排序,Name
必须是枚举对象的属性。)
当然,您可以通过定义列,格式等来“微调”它。