我的.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
这段代码有什么问题?
答案 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