基于Model中的集合的Webgrid行。 MVC4

时间:2014-01-14 14:52:58

标签: asp.net-mvc-4 webgrid

我正在尝试创建一个包含一列行的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()中,我收到错误:必须绑定数据源才能执行此操作。

甚至可能我想做什么?非常感谢。

1 个答案:

答案 0 :(得分:2)

您无需添加行。当您致电@grid.GetHtml()时,系统会自动生成这些内容。

This article向您展示如何使用WebGrid,如果您愿意,甚至可以改进它以便安全地输入。

呈现网格的最小代码如下所示:

@{
   var grid = new WebGrid(Model, defaultSort:"Name");
}

@grid.GetHtml()

其中ModelIEnumerable<T>个对象,例如List<T>。 (嗯,有一点比minimun更多:这将按Name对网格进行排序,Name必须是枚举对象的属性。)

当然,您可以通过定义列,格式等来“微调”它。