asp.net - 创建动态数量的 GridView

标签 asp.net gridview

我需要在我的页面上显示一堆 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/

相关文章:

javascript - GridView 验证在 JavaScript 中无法正常工作

c# - 在 ASP.NET/MVC 中验证复杂情况的最佳实践?

javascript - asp.net OnTextChanged 未触发

c# - 读取\写入文件: heavily used application的正确方法

asp.net - 在 GridView 中交错行/列颜色

c# - 当内容之间没有空格时 GridView 中的对齐问题

asp.net - 在asp.net中更推荐的301重定向方式是什么?

asp.net - Azure Asp.Net Redirect 破坏 session 变量

wpf - 如何使用GridViewComboBoxColumn并允许用户进行编辑?

asp.net - 将 GridView 导出到多个 Excel 工作表