我也想过用一个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 = " "
....但是。我有很多字段。而且也不是很确定哪些会有空值。所以。不想用这种控件跳板的途径
我要的是其他方法。
可以这样:
<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 = " "
....但是。我有很多字段。而且也不是很确定哪些会有空值。所以。不想用这种控件跳板的途径
我要的是其他方法。
<asp:Repeater ID="rep" runat"server">
<ItemTemplate>
<a href="#" target="_blank"><%#Eval("re").ToString().Length > 0 ? Eval("re").ToString() : " " %></a>
</ItemTemplate>
</asp:Repeater>
{
if (obj == null || obj.ToString().Length == 0)
{
return " ";
} return obj.ToString();
}
<%# GetString(Eval("字段"))%>