中继器控制中的条件逻辑?

时间:2012-06-11 17:44:22

标签: asp.net vb.net

在ASP.NET中,使用VB,我如何在页面本身上执行此操作,而不是在后面的代码中执行此操作?

<ItemTemplate>
    <%  If Container.DataItem("filename") <> "" Then
        <a href="/pdf/"><%# Container.DataItem("filename") %>Agenda</a>
    End If%>
</ItemTemplate>

3 个答案:

答案 0 :(得分:5)

在数据源中创建一个布尔属性,例如filenameExists并使用它来对HyperLink的Visible属性进行数据绑定

<asp:HyperLink runat="server" Visible='<%# Eval("filenameExists ") %>' NavigateUrl="/pdf/">Agenda</asp:HyperLink>

答案 1 :(得分:1)

结束使用此功能,感谢您的帮助!

在页面上:

<asp:Literal ID="ltPDF" runat="server" Visible='<%# showPDF(Container.DataItem("filename")) %>'>Test</asp:Literal>

代码背后:

 Function showPDF(ByVal pdf As String) As Boolean
    If pdf <> "" Then
        Return True
    Else
        Return False
    End If
End Function

答案 2 :(得分:0)

您缺少IfEnd If的开括号和右括号:

<ItemTemplate>
    <%  If Container.DataItem("filename") <> "" Then %>
        <a href="/pdf/"><%# Container.DataItem("filename") %>Agenda</a>
    <% End If %>
</ItemTemplate>