【发布时间】:2011-09-27 18:56:14
【问题描述】:
我有一个 ASP.Net 中继器,我想用它来显示数据集中的 From 和 Text,我想以编程方式添加它。我拥有数据集中的所有数据并且可以使用它,并且我已经在加载时验证了数据行的正确数量,因此数据就是它们没有显示的数据。我错过了什么?
Dim data As New Data
Dim ds As New DataSet
ds = data.LOADALL()
Dim drMsg() As DataRow = ds.Tables("MESSAGESYSTEM").Select("TOID='101'")
repeatMessages.DatagSource = drMsg
现在在 html 方面我有:
<asp:Repeater ID="repeatMessages" runat="server" >
<HeaderTemplate>
<table>
<tr>
<th>From</th>
<th>Sublect</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td bgcolor="#CCFFCC">
<asp:Label runat="server" ID="Label1" text='<%# Eval("FROMID") %>' />
</td>
<td bgcolor="#CCFFCC">
<asp:Label runat="server" ID="Label2" text='<%# Eval("MESSAGETEXT") %>' />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
如何修复此代码以显示消息表中的数据?
【问题讨论】:
-
您应该向我们展示
LOADALL-函数。该表是否包含FROMID和MESSAGETEXT列?此外,您还有一个错字:repeatMessages.DatagSource = drMsg,它甚至无法编译。我也错过了repeatMessages.DataBind。你只这样做If Not Page.IsPostBack什么是正确的? -
是的,加载函数正在加载数据。它们是返回的 2 行,并且它们确实具有这些列名。是的,如果不是回发子句,就会发生这种情况。
-
正如@Tim 所说,分配数据源后调用
repeatMessages.DataBind()。 -
@JPJedi 尝试添加repeatMessages.DataBind();
标签: asp.net vb.net visual-studio-2008 datasource repeater