我也想过用一个label控件来作跳板。
可以这样:
<ItemTemplate> 
        <tr>
        <td align ="center">
        <asp:Label ID="abc" runat="server" Text='<%#Container.DataItem("re")%'></asp:Label>
        </td> 
        </tr> 
</ItemTemplate> 然后再ItemDataBound中:
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
 If CType(e.Item.FindControl("abc"), Label).Text = "" Then '为空
     CType(e.Item.FindControl("abc"), Label).Text = "&nbsp"
....但是。我有很多字段。而且也不是很确定哪些会有空值。所以。不想用这种控件跳板的途径
我要的是其他方法。 

解决方案 »

  1.   

    <td align ="center"> <%#string.IsNullOrEmpty((Eval("re"))?"&nbsp;&nbsp;":Eval("re").ToString()%> </td> 
      

  2.   

    用三目运算符这可以了<%#(Container.DataItem("re")).Equals(null)?"nbsp":Container.DataItem("re")%>
      

  3.   

    你这样试试看这样能显示出&nbsp;不
    <asp:Repeater ID="rep" runat"server">
            <ItemTemplate>
                <a href="#" target="_blank"><%#Eval("re").ToString().Length > 0 ? Eval("re").ToString() : "&nbsp;" %></a>
            </ItemTemplate>
        </asp:Repeater>
      

  4.   

    public string GetString(Object obj)
        {
            if (obj == null || obj.ToString().Length == 0)
            {
                return "&nbsp;";
            }        return obj.ToString();
        }
     <%# GetString(Eval("字段"))%>