隐藏一个td并在行中折叠其他td,以便不显示tds之间的空间(自动合并)

时间:2013-04-09 07:00:05

标签: asp.net html css

代码段:

<TD><center>
<asp:ImageButton id=imgManagOrd Runat="server" ImageUrl="images/ManageOrders.jpg"></asp:ImageButton></center></TD>
<TD><center>
<asp:ImageButton id=imgStockOrder Runat="server" ImageUrl="images/stockorder.jpg">    </asp:ImageButton></center></TD>
<TD><center>
<asp:ImageButton id=imgAdmin Runat="server" ImageUrl="images/admin.jpg">    </asp:ImageButton></center></TD>
<TD><center>
<asp:ImageButton id=imgContact Runat="server" ImageUrl="images/contact.jpg">    </asp:ImageButton></center></TD>

我从代码隐藏中隐藏了特定的td,具体取决于权限,我没有分别指定这些tds的宽度。

因此在最终的tds之间存在奇数空格。 请找到图片: 所有tds: All tds

很少隐藏Td: few td hidden

请告诉我如何在不显示空格之间的空格的情况下将结果tds对齐。

1 个答案:

答案 0 :(得分:2)

你有这样的标记:

<tr>
<td><imagebutton id="img1">..</imagebutton></td>
<td><imagebutton id="img2">..</imagebutton></td>
<td><imagebutton id="img3">..</imagebutton></td>
<td><imagebutton id="img4">..</imagebutton></td>
<tr>

并隐藏代码隐藏中的imagebuttons之一。即。

   img2.Visible=false

所以它产生这样的标记:(比如你隐藏第二个图像按钮)

<tr>
<td><imagebutton id="img1">..</imagebutton></td>
<td></td>
<td><imagebutton id="img3">..</imagebutton></td>
<td><imagebutton id="img4">..</imagebutton></td>
<tr>

这只是意味着,持有图像按钮的td永远不会被移除,它已经存在,因而也就是空间。

你应该隐藏td而不是隐藏imagebuttons

所以给你的tds和runat =“server”属性赋予id。并从代码隐藏中获取它们并设置它们的visible = false;

或者这样做:

  td1.Attributes.Add("class","hide"); //where td1 is the id of a td

其中.hide是样式表或设计器中的css类,如下所示:

.hide
{
   display:none;
}