代码片段:
<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:
很少有 Td 隐藏:
请告诉我如何在不显示中间空格的情况下将结果 tds 对齐。
最佳答案
你有这样的标记:
<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>
这只是意味着,持有 imagebutton 的 td 永远不会被删除,它已经存在,因此空间。
你应该隐藏 td 而不是隐藏 imagebuttons
因此请为您的 tds 和 runat="server"属性提供 id。并从代码隐藏中获取它们并设置它们的可见 =false;
或者这样做:
td1.Attributes.Add("class","hide"); //where td1 is the id of a td
其中 .hide
是样式表或设计器中的 css 类,如下所示:
.hide
{
display:none;
}
关于asp.net - 隐藏一个 td 并折叠行中的其他 td 以不显示 tds 之间的空间(自动合并),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15895334/