Asp.net listview itemtemplate中表行的条件显示
我在不同的地方看到过类似的问题,但还没有找到适合我的答案。基本上,我有一个ListView,如果数据绑定中的某个特定值为true(通常情况下,如果项的值为null或空字符串),我希望在其中隐藏表行。我已尝试创建tr runat=“server”并在visible属性上设置条件,但这会返回一个运行时错误“服务器标记的格式不正确”。下面是我尝试执行的操作:Asp.net listview itemtemplate中表行的条件显示,asp.net,listview,Asp.net,Listview,我在不同的地方看到过类似的问题,但还没有找到适合我的答案。基本上,我有一个ListView,如果数据绑定中的某个特定值为true(通常情况下,如果项的值为null或空字符串),我希望在其中隐藏表行。我已尝试创建tr runat=“server”并在visible属性上设置条件,但这会返回一个运行时错误“服务器标记的格式不正确”。下面是我尝试执行的操作: <asp:ListView runat="server" ID="FullInfoListView"> <Layout
<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>
.jpg“/>
尝试设置style=“display:none”
而不是使用Visible
您必须在Visible
设置器周围加上单引号:
<tr valign="top" runat="server" Visible='<%# (bool)Eval("PhotoVis") %>'>
<td colspan="2">
<img src='~/Userphoto/thumb/<%# Eval("NetworkLogin") %>.jpg' />
</td>
</tr>
.jpg'/>
您可以将行包装在一个占位符中
:
<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>
.jpg'/>
编辑:在image
src
属性周围加上单引号你错过了结束语%>
Duh。谢谢。我会怪它是星期三:)+1:这是最简单的解决方案。正如你所知,你需要对image标记做同样的事情-在src
属性周围加上单引号不用担心,我已经这么做了很长时间,并设法问了一个“愚蠢”的问题:什么时候UserControls的内联参数必须有单引号才能格式良好-