<asp:datalist id="DataList1" runat="server" RepeatColumns="2" Width="750px" RepeatDirection="Horizontal">
<HeaderTemplate>
<TABLE id="Table1" style="FONT-SIZE: 9pt; COLOR: #336633; FONT-FAMILY: Tahoma; TEXT-DECORATION: none"
cellSpacing="1" cellPadding="3" bgColor="#000000" border="0" valign="top">
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<TR vAlign="top" bgColor="#ffffff">
<TD width="350px">
<asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"categoryname")%>' Font-Bold="True" ForeColor="#C0C000">
</asp:Label>
<asp:Label id=lblClassID runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"categoryid")%>' Visible="False">
</asp:Label></TD>
</TR>
<TR vAlign="top" bgColor="#efefef">
<TD width="100%">
<asp:DataList ID="DataList2" Runat="server" >
<HeaderTemplate>
<table style="FONT-SIZE: 9pt; COLOR: #336633; FONT-FAMILY: Tahoma; TEXT-DECORATION: none">
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<tr bgcolor="#ffffff">
<td>&gt;&gt;<a href="#"><%# DataBinder.Eval(Container.DataItem,"subject")%></a></td>
</tr>
</ItemTemplate>
</asp:DataList>
</TD>
</TR>
</ItemTemplate>
</asp:datalist>
上面是.aspx的代码
效果页:
http://www.lemongtree.com/v/test.aspx
要的效果是
横向显示二个分类
但现在只显示了一列,我已经在外面的一个DataList里加了RepeatColumns="2"了,为什么没有作用?

解决方案 »

  1.   

    >>>RepeatColumns="2"了,为什么没有作用?看一下你的ItemTemplate吧,因为你用了<TR vAlign="top" bgColor="#ffffff">
      

  2.   

    在浏览器端去菜单查看->源码,看HTML是怎么产生的,你就明白了
      

  3.   

    哈,知道了
    原来一个<itemTemplate>就生成了一个<tr></tr>而我又手工加上了<tr>
    so
    显示错误了
    去掉<tr>就对了
    那再请教一下
    有没有必要在<HeaderTemplate>里加上<table>
    想必也不用了吧?
      

  4.   

    >>>想必也不用了吧?考对,一般在Repeater下才用