我在嵌入webgrids方面遇到了一些麻烦。
只要我只需要在另一个内部有一个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
。每个Resources
网格都有一个包含参数的网格。
在VS中没有错误,但是当我尝试运行应用程序时,它返回错误:
“编译器错误消息:CS1502:'System.Web.Helpers.WebGrid.Column(string,string,System.Func,string,bool)'的最佳重载方法匹配'有一些无效的参数”
使用指向此位置的指针:
grid.Column("Resource", format: (item) =>
是否不可能有递归的嵌套webgrids,或者我做错了什么?
答案 0 :(得分:0)
重复item
变量两次是个问题。尝试重命名:
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
);
})