ASP.Net 如何在 GridView 中使用 DataReader

How to use DataReader with GridView in ASP.Net

我正在尝试在 GridView 中使用 DataReader
而不是使用 DataAdapter。

但是我在 aspx 中有这个错误:

Non-invocable member 'IDataItemContainer.DataItem' cannot be used like a method

我在这一行有错误:

<%# Container.DataItem("Data1")%>

我有这个代码:

SqlConnection baglan=new SqlConnection("connectionstring text");
if (connection.State== ConnectionState.Closed)
{
    baglan.Open();
}
SqlCommand cmd = new SqlCommand("Select Data1 from Table1",baglan); 
SqlDataReader dr = cmd.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ID" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<Columns>

    <asp:TemplateField>
        <ItemTemplate>                            

            <%# Container.DataItem("Data1")%>

        </ItemTemplate>

        <ItemStyle HorizontalAlign="Left" Width="50px"></ItemStyle>
    </asp:TemplateField>
    </Columns>
</GridView>

我该如何解决这个问题?谢谢

您应该使用 Eval。但是您发布的错误与使用 DataReader

无关
<asp:TemplateField>
    <ItemTemplate>

        <%# Eval("Data1") %>

    </ItemTemplate>
</asp:TemplateField>