如何使用asp.net webforms在Repeater中显示数据

本文关键字:Repeater 显示 数据 webforms 何使用 asp net | 更新日期: 2023-09-27 18:07:43

我必须从数据库中显示数据,就像在asp.net webforms中的图片一样。我试着通过中继器(第二张图):

<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnection %>" SelectCommand="DataSelect" SelectCommandType="StoredProcedure"></asp:SqlDataSource>                    
                <asp:Repeater ID="rptStudents" runat="server" DataSourceID="SqlDataSource" OnItemDataBound="rptStudents_ItemDataBound">
                    <HeaderTemplate>
                        <asp:Table runat="server">
                            <asp:TableRow>
                                <asp:TableCell>Course</asp:TableCell>
                                <asp:TableCell>Grade</asp:TableCell>
                            </asp:TableRow>
                        </asp:Table>                                                         
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:Table ID="tbStudents" runat="server">
                            <asp:TableRow>
                                <asp:TableCell ID="tcStudent" runat="server" ColumnSpan="2" Visible="true">
                                    <%#DataBinder.Eval(Container.DataItem, "StudentName") %>
                                </asp:TableCell>
                            </asp:TableRow>
                            <asp:TableRow>
                                <asp:TableCell>
                                    <%#DataBinder.Eval(Container.DataItem, "CourseName") %>
                                </asp:TableCell>
                                <asp:TableCell>
                                    <%#DataBinder.Eval(Container.DataItem, "Grade") %>
                                </asp:TableCell>
                            </asp:TableRow>
                        </asp:Table>                            
                    </ItemTemplate>
                </asp:Repeater>

什么可以添加到rptStudents_ItemDataBound或有另一个函数可以使用?默认情况下tcStudent是可见的,但是如果tcStudent。则不显示所有学生的姓名。但是如何使学生的名字只显示一次呢?

protected void rptStudents_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        TableCell tcStudent = (TableCell)e.Item.FindControl("tcStudent");
        tcStudent.Visible = false;            
    }

我刚刚开始学习asp.net webforms,请帮助。谢谢。

如何使用asp.net webforms在Repeater中显示数据

中继器是一个选择,但如果你只是想要一个网格,考虑使用GridView。然后,您可以更改标记中的格式,使其成为标题样式和交替行样式。远没那么复杂。

注意:优秀的开发人员是懒惰的!(我的意思是高效,当然?)