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 3 MVC3递归嵌套webgrid_Asp.net Mvc 3_Webgrid - Fatal编程技术网

Asp.net mvc 3 MVC3递归嵌套webgrid

Asp.net mvc 3 MVC3递归嵌套webgrid,asp.net-mvc-3,webgrid,Asp.net Mvc 3,Webgrid,我在嵌套webgrids时遇到一些问题 只要我只需要在另一个webgrid中包含1个webgrid,这很好,但一旦我尝试在已经嵌套的webgrid中嵌套一个webgrid,它就会失败 这是我的代码: @grid.GetHtml(columns: grid.Columns( grid.Column("Name"), grid.Column("Variants", format: (item) => { WebGrid varGrid = varGrid

我在嵌套webgrids时遇到一些问题

只要我只需要在另一个webgrid中包含1个webgrid,这很好,但一旦我尝试在已经嵌套的webgrid中嵌套一个webgrid,它就会失败

这是我的代码:

@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
。每个
资源
网格都有一个包含参数的网格

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

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

使用指向此点的指针:

grid.Column(“资源”,格式:(item)=>


无法使用递归嵌套webgrids,或者我做错了什么吗?

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

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
    );
})

非常感谢。真不敢相信我自己没听清楚