【问题标题】:Table borders when no data in cell单元格中没有数据时的表格边框
【发布时间】:2011-06-28 01:00:08
【问题描述】:

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

<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>

如果你仔细看,你会发现边界不一致。边框会出现,但不会出现在其中没有任何数据的单元格中。有谁知道解决这个问题?我知道您可以输入&amp;nbsp 来获取边框,但这对我来说不是一个选项,因为某些单元格中有标签,例如:

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

当说 Name 为 null 然后我缺少空单元格的边框时会导致问题。

【问题讨论】:

    标签: html asp.net html-table


    【解决方案1】:

    This question 是同样的问题,Internet Explorer 不呈现空单元格。

    【讨论】:

    • 太好了,感谢您的回答。如果问题重复,您应该删除您的问题吗?你会怎么做?
    • 您可以投票删除,但我会保留它,因为 Andrew 的回答是针对在 asp.net 中进行数据绑定的人的一个非常具体的解决方案。
    【解决方案2】:

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

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

    关于后面的代码:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 2011-01-04
      • 1970-01-01
      • 2014-01-16
      • 2014-04-30
      相关资源
      最近更新 更多