Asp.net 可以绑定匿名列表<&燃气轮机;到网格视图?

Asp.net 可以绑定匿名列表<&燃气轮机;到网格视图?,asp.net,generics,gridview,anonymous-types,Asp.net,Generics,Gridview,Anonymous Types,我正在这里创建一个匿名列表: 我循环我的代码,加载带有项的列表,并将其绑定到我的gridview: PipList.RemoveAt(0); gvReport.DataSource = PipList; gvReport.DataBind(); 当我调试它时,我看到在绑定它之前列表中有项目,但是当我在绑定之后查看gridview时,它是空的。不可能这样做吗 我也尝试过定义一个类而不使用匿名对象,但它也不起作用 如果有帮助,这就是gridview <asp:GridView ID="gvR

我正在这里创建一个匿名列表:

我循环我的代码,加载带有项的列表,并将其绑定到我的gridview:

PipList.RemoveAt(0);
gvReport.DataSource = PipList;
gvReport.DataBind();
当我调试它时,我看到在绑定它之前列表中有项目,但是当我在绑定之后查看gridview时,它是空的。不可能这样做吗

我也尝试过定义一个类而不使用匿名对象,但它也不起作用

如果有帮助,这就是gridview

<asp:GridView ID="gvReport" Width="750" AutoGenerateColumns="false" runat="server"
                            AllowSorting="false" AllowPaging="false" CellPadding="4" GridLines="Both"
                            CssClass="gv_Style" Visible="false">
                            <HeaderStyle BackColor="#000000" ForeColor="White" />
                            <AlternatingRowStyle CssClass="gv_AlternatingRow" />
                            <RowStyle CssClass="gv_Row" />
                            <PagerStyle CssClass="gv_Pager" />
                            <Columns>
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="MCP" HeaderText="MCP" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="PIP Measure" DataField="Measure" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Start Year" DataField="Year"  />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Summary" DataField="url1" htmlencode="false" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Detail" DataField="url2" htmlencode="false" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="url3" htmlencode="false" HeaderText="Yearly Summary"  />
                            </Columns>
                        </asp:GridView>

您实际上可以将匿名或已定义的类列表绑定到GridView。从您的代码来看,可能有两个原因导致它无法工作

  • 您创建了一个包含一个项目的匿名对象列表,然后在下一个代码剪切中,使用
    PipList.RemoveAt(0)将其删除从而将列表留空
  • 如果在
    PipList.RemoveAt(0)之后添加了其他项语句,您是否已将GridView的可见属性设置为。在代码中,它被设置为false,这意味着它不可见
    希望有帮助


    Matrich

    您实际上可以将匿名或已定义的类列表绑定到GridView。从您的代码来看,可能有两个原因导致它无法工作

  • 您创建了一个包含一个项目的匿名对象列表,然后在下一个代码剪切中,使用
    PipList.RemoveAt(0)将其删除从而将列表留空
  • 如果在
    PipList.RemoveAt(0)之后添加了其他项语句,您是否已将GridView的可见属性设置为。在代码中,它被设置为false,这意味着它不可见
    希望有帮助

    马蒂奇

    <asp:GridView ID="gvReport" Width="750" AutoGenerateColumns="false" runat="server"
                                AllowSorting="false" AllowPaging="false" CellPadding="4" GridLines="Both"
                                CssClass="gv_Style" Visible="false">
                                <HeaderStyle BackColor="#000000" ForeColor="White" />
                                <AlternatingRowStyle CssClass="gv_AlternatingRow" />
                                <RowStyle CssClass="gv_Row" />
                                <PagerStyle CssClass="gv_Pager" />
                                <Columns>
                                    <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="MCP" HeaderText="MCP" />
                                    <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="PIP Measure" DataField="Measure" />
                                    <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Start Year" DataField="Year"  />
                                    <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Summary" DataField="url1" htmlencode="false" />
                                    <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Detail" DataField="url2" htmlencode="false" />
                                    <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="url3" htmlencode="false" HeaderText="Yearly Summary"  />
                                </Columns>
                            </asp:GridView>