我在不同的地方看过类似的问题,但是还没有真正找到对我有用的答案。基本上,我有一个ListView,我想隐藏表行,如果特定条件为真,则数据绑定中的特定值(大多数情况下,如果项的值为null或空字符串)。我已经尝试制作tr runat =“server”并在visible属性上设置条件,但这会返回运行时错误“服务器标签格式不正确”。这就是我想要做的事情:
<asp:ListView runat="server" ID="FullInfoListView">
<LayoutTemplate>
<table class="tablestripe" width="100%">
<asp:Placeholder runat="server" ID="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr valign="top" class="eventrow1">
<td colspan="2">
<h3><%# Eval("FirstName") Eval("LastName") %></h3>
</td>
</tr>
<tr valign="top" runat="server" Visible="<%# (bool)Eval("PhotoVis") %>">
<td colspan="2">
<img src="~/Userphoto/thumb/<%# Eval("NetworkLogin") %>.jpg" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
答案 0 :(得分:6)
Visible
setter周围必须有单引号:
<tr valign="top" runat="server" Visible='<%# (bool)Eval("PhotoVis") %>'>
<td colspan="2">
<img src='~/Userphoto/thumb/<%# Eval("NetworkLogin") %>.jpg' />
</td>
</tr>
答案 1 :(得分:1)
您可以将行换行到PlaceHolder
:
<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible='<%# (bool)Eval("PhotoVis") %>'>
<tr valign="top">
<td colspan="2">
<img src='~/Userphoto/thumb/<%# Eval("NetworkLogin") %>.jpg' />
</td>
</tr>
</asp:PlaceHolder>
编辑:图片src
属性周围包含单引号
答案 2 :(得分:0)
尝试设置style="display:none"
,而不是使用Visible
。