【问题标题】:Webgrid rows based on a collection in Model. MVC4基于模型中的集合的 Webgrid 行。 MVC4
【发布时间】:2014-01-15 00:44:28
【问题描述】:

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

有没有可能我正在尝试做的事情?非常感谢。

【问题讨论】:

    标签: asp.net-mvc-4 webgrid


    【解决方案1】:

    您不需要添加行。调用@grid.GetHtml()时会自动生成。

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

    渲染网格的最少代码如下所示:

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

    其中Model 是对象的IEnumerable<T>,例如List<T>。 (好吧,比最小值多一点:这将按Name 对网格进行排序,Name 必须是枚举对象的属性)。

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

    【讨论】:

    • 如果您认为是问题的解决方案,请将其标记为答案,以便对其他人有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多