【问题标题】:ASP.NET Repeater will not show dataASP.NET 中继器不会显示数据
【发布时间】: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-函数。该表是否包含FROMIDMESSAGETEXT 列?此外,您还有一个错字: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


【解决方案1】:

尝试拨打repeatMessages.DataBind()。您所做的只是分配源,但您还没有告诉程序对数据进行处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    相关资源
    最近更新 更多