Asp.net 将行添加到数据列表

Asp.net 将行添加到数据列表,asp.net,vb.net,html-table,datalist,Asp.net,Vb.net,Html Table,Datalist,我一直在网上寻找解决这个问题的方法,但到目前为止还没有找到任何结果 基本上我有一个如下所示的表,它由ItemTemplate字段组成,并由数据库中的数据集填充。它向用户显示品牌,然后用户可以单击并进入另一个页面 我需要在表中添加另一个名为“所有品牌”的选项。这样,我就可以用它进入显示所有品牌的页面。然而,我似乎无法轻松地将其添加到数据列表中 <asp:DataList id="TypesList" runat="server" Visible="true" RepeatColumns="3

我一直在网上寻找解决这个问题的方法,但到目前为止还没有找到任何结果

基本上我有一个如下所示的表,它由ItemTemplate字段组成,并由数据库中的数据集填充。它向用户显示品牌,然后用户可以单击并进入另一个页面

我需要在表中添加另一个名为“所有品牌”的选项。这样,我就可以用它进入显示所有品牌的页面。然而,我似乎无法轻松地将其添加到数据列表中

<asp:DataList id="TypesList" runat="server" Visible="true" RepeatColumns="3" Width="100%" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Center">
  <ItemTemplate>
    <div style="position:relative;vertical-align:top;">
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <tr>
          <td align="center" style="height:170px;vertical-align:top;text-align:center;" valign="top">
            <asp:Label ID="lblID" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>'></asp:Label>

            <a href='/<%#DataBinder.Eval(Container.DataItem,"catid")%>/<%#DataBinder.Eval(Container.DataItem,"catname")%>/<%#DataBinder.Eval(Container.DataItem,"brandid")%>/<%#DataBinder.Eval(Container.DataItem,"brand_name")%>/<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>/<%#DataBinder.Eval(Container.DataItem,"typeName")%>' target='_self'>
              <asp:Image ID="imgProd" runat="server" ImageUrl='images/none.jpg' />
            </a>
          </td>
        </tr>
        <tr>
          <td class="productdesc" style="text-align:center;vertical-align:top;">
            <span style="color:#000;font-weight:bold;font-size:120%;">
              <%#DataBinder.Eval(Container.DataItem, "typeName").ToString%>
            </span>
          </td>
        </tr>
      </table>
    </div>
  </ItemTemplate>
</asp:DataList>

您应该能够通过以下布局解决此问题:

<asp:DataList id="TypesList" runat="server" Visible="true" RepeatColumns="3" Width="100%" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Center">

  <HeaderTemplate>
    <div style="width:170px; float:left;">
      <div>All Brands Pic and Link</div>
      <div>
        <span style="color:#000;font-weight:bold;font-size:120%;">All Brands</span>
      </div>
    </div>
  </HeaderTemplate>

  <ItemTemplate>
    <div style="width:170px; float:left;">
      <div>
        <asp:Label ID="lblID" runat="server" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>'></asp:Label>
        <a href='/<%#DataBinder.Eval(Container.DataItem,"catid")%>/<%#DataBinder.Eval(Container.DataItem,"catname")%>/<%#DataBinder.Eval(Container.DataItem,"brandid")%>/<%#DataBinder.Eval(Container.DataItem,"brand_name")%>/<%#DataBinder.Eval(Container.DataItem,"batteryTypeID")%>/<%#DataBinder.Eval(Container.DataItem,"typeName")%>' target='_self'>
          <asp:Image ID="imgProd" runat="server" ImageUrl='images/none.jpg' />
        </a>
      </div>
      <div>
        <span style="color:#000;font-weight:bold;font-size:120%;">
          <%#DataBinder.Eval(Container.DataItem, "typeName").ToString%>
        </span>
      </div>
    </div>
  </ItemTemplate>

</asp:DataList>

我的css有点生疏,但我相信人们会乐于指出如何更好地设计它。

你的问题并不是很清楚——是否简单地添加HeaderTemplate或FooterTemplate就可以将所有品牌的链接添加到数据列表中。也许可以添加一个简单的例子来说明你想要的结果,让它更清楚你想要的是什么。这就是我的目标。有一个额外的行作为选项显示所有类型。看看这个图像示例。费尔伯特的位置在。将此默认条目添加到页眉或页脚模板中,因为如果要保留数据列表中的内容,数据之间没有关联。或者,为什么不在数据列表之外添加额外的条目呢?您不太喜欢在那里使用任何超结构HTML输出……顺便说一句,对于非tabluar数据,嵌套在div中的表,我已经有几年没有看到这种样式了。使用页眉或页脚模板的唯一问题是,它不仅仅是表中的另一个单元格。它不符合相同的布局。我已经删除了html表。这就是我的前任所做的。不知道为什么。下面是它现在的屏幕截图。