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

时间:2014-07-22 10:21:16

标签: c# asp.net database datalist

这是我的DataList

<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个品牌......和1个评论。但我需要的是数据库中所有可用的评论。

我尝试在Datalist中使用转发器控件,但我想这是不可能的。 我试过了:

<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>

哪种方法不起作用..错误的方法也许。那怎么可能?

编辑: 我的datalist与DataTable绑定,同时是合并两个table的结果。我试图在同一Datalist中显示来自不同表的数据。所以我合并了两个DataTable并将该DataTable绑定到DataList。

1 个答案:

答案 0 :(得分:1)

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

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