【问题标题】:How to display records correctly using <asp:Repeater>如何使用 <asp:Repeater> 正确显示记录
【发布时间】:2018-05-02 02:26:57
【问题描述】:

我一直在寻找这个问题的答案,但没有成功。 我的查询涉及一张表,其中一列(以 Column2 为例)有多个值。 我想使用 ASP.NET Repeater 在 Web 上显示信息。

如果我运行此查询 (Select * from TableName where Column1 = ‘Apple’),那么我的 SQL 数据库表如下所示:

我有 2 个 ASP.NET 页面(master.aspxdetails.aspx) master.aspx 有这样的链接http://localhost:1234/Folder/details.aspx?Column1=SomeStringValues details.aspx 有以下代码(无代码隐藏代码):

<asp:Repeater ID="Repeater" runat="server" DataSourceID="SQLDataSource1" >          
           <HeaderTemplate>
            <table cellspacing="0" rules="all" border="1">
            <tr>
                <th scope="col" style="width: 80px">Column1</th>
                <th scope="col" style="width: 120px">Column2</th>
            </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td><asp:Label ID="lblColumn1" runat="server" Text='<%# Eval("Column1") %>' /></td>
            <td><asp:Label ID="lblColumn2" runat="server" Text='<%# Eval("Column2") %>' /> </td>

        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
  </asp:Repeater>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:myConn %>"
    SelectCommand="SELECT Column1, Column2 FROM TableName WHERE Column1= @ Column1">
    <SelectParameters>
        <asp:QueryStringParameter Name=" Column1" QueryStringField=" Column1" Type="String" DefaultValue="<%= Column1%>" />
    </SelectParameters>

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    听起来您想对数据进行分组,然后可能在主中继器内使用另一个中继器来列出每个 Column1 值的所有 Column2 值。

    <repeater>
        Column1 = <%# Eval("Column1") %>
        <repeater>
           //for each Column2 value, print value here
        </repeater
    </repeater
    

    【讨论】:

      【解决方案2】:

      感谢您的提示。 我根据您的建议修改了代码以使用嵌套中继器,但输出不正确。也许我做得不对?

      Output can be found from this link

          <asp:Repeater ID="RepeaterCol1" runat="server" DataSourceID="SQLDataSource1" >          
      
        <ItemTemplate>
        <p><strong>Column1: <%# Eval("Column1") %></strong><br />
        <asp:Repeater ID="RepeaterCol2" runat="server" DataSourceID="SQLDataSource1">
          <ItemTemplate>
      
           Column2: <%# Eval("Column2") %><br />
      
          </ItemTemplate>
        </asp:Repeater>
        </p>
        </ItemTemplate>
      </asp:Repeater>
      

      【讨论】:

        猜你喜欢
        • 2018-09-08
        • 1970-01-01
        • 2016-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多