ListView中的内联脚本条件语句

时间:2010-12-15 14:38:34

标签: c# asp.net

我正在尝试根据数据绑定属性的值在ListView控件中显示图像。我已经尝试了两种方法(一次一个),并且都返回了“服务器标签格式不正确”的错误。请考虑以下代码。

<ItemTemplate>
    <div class="left">

    <!-- Method 1 -->
    <img src="media-play-button.png" alt="Play" class="mediaplay noborder" runat="server" visible="<%# Eval("MediaType").ToString() == "video" %>" />

    <!-- Method 2 -->
    <%# if (((MediaLink)Container.DataItem).MediaType == "video") { %>
    <img src="media-play-button.png" alt="Play" class="mediaplay noborder" />
    <%# } %>

    </div>
</ItemTemplate>

1 个答案:

答案 0 :(得分:7)

方法1

不使用"作为visible属性值,而是使用'

<img src="media-play-button.png" alt="Play" class="mediaplay noborder" 
    runat="server" visible='<%# Eval("MediaType").ToString() == "video" %>' />

使用"会导致字符串在<%# Eval(之后终止。

方法2

不要使用绑定表达式(<%#%>)来编码块(<%%>):

<% if (((MediaLink)Container.DataItem).MediaType == "video") { %>
<img src="media-play-button.png" alt="Play" class="mediaplay noborder" />
<% } %>