首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC3递归嵌套webgrid

MVC3递归嵌套webgrid
EN

Stack Overflow用户
提问于 2012-08-14 14:54:33
回答 1查看 1.6K关注 0票数 1

我在网栅的嵌套上遇到了麻烦。

只要我只需要在另一个内部有一个webgrid,就可以了,但是一旦我尝试将一个webgrid嵌套在一个已经嵌套的webgrid中,它就会失败。

这是我的代码:

代码语言:javascript
复制
@grid.GetHtml(columns:
grid.Columns(
    grid.Column("Name"),
    grid.Column("Variants", format: (item) =>
    {
        WebGrid varGrid = varGrid = new WebGrid(item.Variant);
        return varGrid.GetHtml(
                columns: varGrid.Columns(
                    varGrid.Column("Name")

                ),
                displayHeader : false
        );
    }),
    grid.Column("Resource", format: (item) =>
    {
        WebGrid resGrid = new WebGrid(item.Resource);
        return resGrid.GetHtml(
            columns: resGrid.Columns(
                resGrid.Column("Name"),
                resGrid.Column("Parameters", format: (item) =>
                {
                    WebGrid resParamGrid = new WebGrid(item.Resource.Parameter);
                    return resParamGrid.GetHtml(
                    columns: resParamGrid.Columns(
                            resParamGrid.Column("Name")
                            ),
                            displayHeader: false
                        );
                })
            ),
            displayHeader: false
        );
    }),
    grid.Column("Parameter", format: (item) =>
    {
        WebGrid parGrid = new WebGrid(item.Parameter);
        return parGrid.GetHtml(
            columns: parGrid.Columns(
                    parGrid.Column("Name")
            ),
            displayHeader: false
        );
    })
)
)

因此,网格还有另一个网格,Resources。每个Resources网格都有一个包含参数的网格。

在VS中没有错误,但是当我尝试运行应用程序时,它返回为error:

编译器错误消息: CS1502: System.Web.Helpers.WebGrid.Column( string,string,System.Func,string,bool)的最佳重载方法匹配有一些无效的参数

有指向此点的指针:

grid.Column("Resource", format: (item) =>

难道不可能有递归嵌套的网络网格,还是我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 16:08:15

重复两次item变量是有问题的。尝试重命名它:

代码语言:javascript
复制
grid.Column("Resource", format: (item) =>
{
    WebGrid resGrid = new WebGrid(item.Resource);
    return resGrid.GetHtml(
        columns: resGrid.Columns(
            resGrid.Column("Name"),
            resGrid.Column("Parameters", format: (resource) =>
            {
                WebGrid resParamGrid = new WebGrid(resource.Parameter);
                return resParamGrid.GetHtml(
                    columns: resParamGrid.Columns(
                        resParamGrid.Column("Name")
                    ),
                    displayHeader: false
                );
            })
        ),
        displayHeader: false
    );
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11955067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档