在asp.net表中添加行

时间:2013-01-10 12:40:41

标签: asp.net vb.net

我的.aspx文件中有以下代码

<asp:Table ID="tabStudent" runat="server"></asp:Table>

我声明了我在下面使用的所有变量。我在页面load事件中编写了以下代码段。但它只显示了我的数据库中最后一行的一行。但是,当我在while循环中使用消息框来print这些值时,我得到了所有行。

Reader = Command.ExecuteReader()
While Reader.Read()
    lblRollNo.Text = Reader.Item(0)
    lblName.Text = Reader.Item(1)
    lblDob.Text = Reader.Item(2)
    tcRollNo.Controls.Add(lblRollNo)
    tcName.Controls.Add(lblName)
    tcDob.Controls.Add(lblDob)
    TableRow.Cells.Add(tcRollNo)
    TableRow.Cells.Add(tcName)
    TableRow.Cells.Add(tcDob)
    tabStudent.Rows.Add(TableRow)
End While

这段代码有什么问题?

1 个答案:

答案 0 :(得分:1)

您不是在循环中创建新控件,但是您总是重复使用它。

While Reader.Read()
    TableRow = New TableRow()
    lblRollNo = New Label()
    tcRollNo = New TableCell()
    ' and so on ...
    lblRollNo.Text = Reader.Item(0)
    lblName.Text = Reader.Item(1)
    lblDob.Text = Reader.Item(2)
    tcRollNo.Controls.Add(lblRollNo)
    tcName.Controls.Add(lblName)
    tcDob.Controls.Add(lblDob)
    TableRow.Cells.Add(tcRollNo)
    TableRow.Cells.Add(tcName)
    TableRow.Cells.Add(tcDob)
    tabStudent.Rows.Add(TableRow)
End While