Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/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 MvcContrib网格-向字典中的动态值发布绑定_Asp.net Mvc_Asp.net Mvc 3_Model View Controller_Mvccontrib_Mvccontrib Grid - Fatal编程技术网

Asp.net mvc MvcContrib网格-向字典中的动态值发布绑定

Asp.net mvc MvcContrib网格-向字典中的动态值发布绑定,asp.net-mvc,asp.net-mvc-3,model-view-controller,mvccontrib,mvccontrib-grid,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,Mvccontrib,Mvccontrib Grid,我有一个SearchResult对象的集合,其中包含任意数量的动态属性的字典,例如名称、地址、食物偏好或其他任何内容。我希望动态创建列(基于列集合)并在MvcContrib网格中显示属性 @Html.Grid(Model.SearchResults).Columns(column => { foreach (var col in Model.Columns) { column.For(sr => sr.GetAttribute(col.Name)).N

我有一个SearchResult对象的集合,其中包含任意数量的动态属性的字典,例如名称、地址、食物偏好或其他任何内容。我希望动态创建列(基于列集合)并在MvcContrib网格中显示属性

@Html.Grid(Model.SearchResults).Columns(column =>
{
    foreach (var col in Model.Columns)
    {
        column.For(sr => sr.GetAttribute(col.Name)).Named(col.Title);
    }
})
我遇到的问题是,网格中的每一行都完全由最后一个属性填充,例如:

Name           Address       Telephone
____________________________________________
01496 555555   01496 555555  01496 555555 
01496 444444   01496 444444  01496 444444
01496 111111   01496 111111  01496 111111 

我做错了什么???回答我自己的问题

这是一个“获得修改关闭”的问题。列变量需要分配给foreach循环中的局部变量,如下所示:

@Html.Grid(Model.SearchResults).Columns(column =>
{
    foreach (var col in Model.Columns)
    {
        var localCol = col;
        column.For(sr => sr.GetAttribute(localCol.Name)).Named(localCol.Title);
    }
})

现在还不清楚你的模型是什么样子。请发布它们的结构。你能展示一下你的
模型。搜索结果
模型。列
对象是什么样子的吗?我不再有这些代码了,因为我把它改成了使用WebGrid(如果我没记错的话,服务器端分页会更容易)。Columns集合是List,其中Column是一个非常标准的类,具有名称和标题的基本属性。