我需要在我的页面上显示一堆 GridView。我有一个名为 dataList 的节对象列表列表,并且 dataList 中的每个列表都应绑定(bind)到其中一个 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? foreach 循环是否已成功将每个 GridView 绑定(bind)到 dataList 的列表?谢谢
最佳答案
删除 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);
}
关于asp.net - 创建动态数量的 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15463681/