单元格中没有数据时表格边框

时间:2011-02-16 01:06:29

标签: html asp.net html-table

我有一个包含几个不包含数据的单元格的表:

<table id="table_id2" CellPadding="0" CellSpacing="0" border="1">
 <tr style="background-color:#D1DEB6"><td>Test 1</td><td class="y_n">Y</td></tr>
 <tr style="background-color:#C7D6A7"><td>Test 2</td><td class="y_n">N</td></tr>
 <tr style="background-color:#D1DEB6"><td></td><td class="y_n">Y</td></tr>
 <tr style="background-color:#C7D6A7"><td></td><td class="y_n">Y</td></tr>
</table>

我仔细看你会发现边框不一致。边框显示但不包含没有任何数据的单元格。有谁知道解决这个问题?我知道你可以放&nbsp来获取边框,但这不是我的选择,因为有些单元格中有标签,如:

<asp:Label ID="Label2" runat="server" Text='<%# Eval("Name") %>' />

当Name为null然后我错过了空单元格的边框时,会导致问题。

2 个答案:

答案 0 :(得分:0)

This question是关于同一个问题,Internet Explorer不呈现空单元格。

答案 1 :(得分:0)

如果您不想搞乱CSS,可以在代码隐藏页面的格式化函数中包装Eval调用以检查空字符串,然后返回&nbsp;

<asp:Label ID="Label2" runat="server" Text='<%# InsertNBSP(Eval("Name")) %>' />

关于代码背后:

public string InsertNBSP(string str)
{
    if(str == "")
       return "&nbsp;"
    else
       return str;
}