使用Datalist控件仅为特定列显示数据库中的所有数据

本文关键字:数据库 数据 显示 控件 Datalist 使用 | 更新日期: 2023-09-27 18:14:10

这是我的数据列表

<asp:DataList ID="mydatalist" ItemStyle-CssClass="lft_c_down"  runat="server">
        <ItemTemplate>
          <div id="wholeC">
            <div id="ctop">
             <div id="lft_l">
                <div id="lft_l_top">
                   <asp:Image runat="server" ImageUrl='<%#DataBinder.Eval(Container.DataItem,"ipath")%>' Height="250px" Width="300px" />
                    <br/>
                </div>
                <div id="lft_l_down">
                <asp:Label ID="lbl_sid" Text='<%#DataBinder.Eval(Container.DataItem,"sid") %>' runat="server" Visible="false" />
                   <b>Product Name:</b>
                   <asp:Label ID="lbl2" Text='<%#DataBinder.Eval(Container.DataItem,"products") %>' runat="server" />
                   <br/>
                   <b>brand:</b>
                   <asp:Label ID="lbl1" Text='<%#DataBinder.Eval(Container.DataItem,"brand") %>' runat="server" />
                   <br/>
                   <b>Price:</b>
                   <asp:Label ID="Label1" Text='<%#DataBinder.Eval(Container.DataItem,"price") %>' runat="server" />
                </div>
              </div>
              <div id="lft_r">
                    <b>Details:</b>
                   <asp:Label ID="Label2" Text='<%#DataBinder.Eval(Container.DataItem,"description") %>' runat="server" />
              </div>
           </div>
          <div id="cdown">
               <asp:TextBox ID="tb_cmt" runat="server" Height="35px" Width="620" placeholder="comment.."  />
               <asp:Button ID="Button1"  runat="server" Text="Comment" backcolor="black" BorderStyle="None" Font-Names="Consolas" Font-Overline="False" 
                ForeColor="White" Height="34px" Width="108px" OnClick="cmt_Click" />
              <asp:Label id="lblcmt" runat="server" Text='<%#Eval("ecomment")%>' />
           </div>
         </div>
        </ItemTemplate>
      </asp:DataList>

正如你所看到的,上面的代码将显示每个列值一次,如1个图像,1个产品,1个品牌…我要评论一下。但我需要的是所有的评论在数据库中可用。

我尝试在数据列表中使用重复器控制,但我想这是不可能的。我试着:

<div id="cdown">
               <asp:TextBox ID="tb_cmt" runat="server" Height="35px" Width="620" placeholder="comment.."  />
               <asp:Button ID="Button1"  runat="server" Text="Comment" backcolor="black" BorderStyle="None" Font-Names="Consolas" Font-Overline="False" 
                ForeColor="White" Height="34px" Width="108px" OnClick="cmt_Click" />
               <asp:Repeater ID="repC" runat="server" >
                 <ItemTemplate>
                       <b><%# DataBinder.Eval(Container.DataItem, "ecomment") %></b>
                 </ItemTemplate>
             </asp:Repeater>
           </div>

这不起作用…可能是错误的方法。这怎么可能呢?

编辑:

我的数据表是由一个数据表绑定的,而这是两个表合并的结果。我试图显示数据从不同的表在同一数据。所以我合并了两个DataTable并将这个DataTable绑定到DataList

使用Datalist控件仅为特定列显示数据库中的所有数据

在这种情况下,您可以尝试另一种方法。您可以使用Nested Datalist来显示来自两个不同表的数据,而不是使用这种方法。

您可以看到:https://unschoolingcode.wordpress.com/2014/07/22/nested-datalist-in-asp-net/和http://msdn.microsoft.com/en-us/library/bb510144.aspx