Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 基于模型中的集合的Webgrid行。MVC4_Asp.net Mvc 4_Webgrid - Fatal编程技术网

Asp.net mvc 4 基于模型中的集合的Webgrid行。MVC4

Asp.net mvc 4 基于模型中的集合的Webgrid行。MVC4,asp.net-mvc-4,webgrid,Asp.net Mvc 4,Webgrid,我正在尝试创建一个webgrid,它的行数为一列。行数将取决于模型中输入的电子邮件地址(字符串)数。以下是视图的代码: @model BarClients.Models.BarClientsViewModel @{ var grid = new WebGrid(Model.EmailAddressesOfChosenClient, ajaxUpdateContainerId: "gridContent"); int rowIndex = 0; if (Mode

我正在尝试创建一个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()上,我得到了一个错误:必须先绑定数据源,然后才能执行此操作


我想做的事有可能吗?非常感谢。

您不需要添加行。当您调用
@grid.GetHtml()
时,它们将自动生成

向您展示如何使用
WebGrid
,如果您愿意,甚至可以将其改进为安全键入

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

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

@grid.GetHtml()
其中
模型
是对象的
IEnumerable
,例如
列表
。(嗯,还有一点比minimun多一点:这将按照
Name
对网格进行排序,并且
Name
必须是枚举对象的属性)


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

如果您认为这是问题的解决方案,请将其标记为答案,以便对其他人有用。