2

我需要一堆 GridView 来显示在我的页面上。我有一个名为dataList的部分对象列表列表,并且dataList中的每个列表都应绑定到其中一个 GridView。

我有这个

List<List<Section>> dataList;
foreach (List<Section> sectionList in dataList)
{
    GridView gv = new GridView();
    gv.DataSource = sectionList
    gv.DataBind();
}

和我的标记:

 <asp:GridView runat="server" ID="gv" AutoGenerateColumns="true"/>

但是当我加载页面时,我什么也看不到。如何显示我创建的所有 GridView?我已经成功地将每个 GridView 绑定到 dataList 列表的 foreach 循环吗?谢谢

4

1 回答 1

2

删除您的 Gridview 标记并使用 PlaceHolder 控件添加动态 Gridview,试试这个:

<asp:PlaceHolder ID="PlaceHolder1" runat="server"/>

在 C# 中

int i = 1;
foreach (List<Section> sectionList in dataList)
{
    GridView gv = new GridView();
    //generate dynamic id        
    gv.Id = "gv" + i; i++;
    gv.AutoGenerateColumns="true";
    gv.DataSource = sectionList
    gv.DataBind();
    PlaceHolder1.Controls.Add(gv);
}
于 2013-03-17T17:23:39.093 回答