我有ListView
<asp:ListView ID="MyListView" runat="server">
<LayoutTemplate>
<ul class="menu">
<li><a href="/"><i></i>home</a></li>
<li runat="server" />
<li class="myClass">
<a title="SomeTitle" href="example.com/default.aspx">
</a>
</li>
</ul>
<ascx:Menu runat="server" Visible="true" />
</LayoutTemplate>
<ItemTemplate>
<li>
<asp:HyperLink runat="server" NavigateUrl='<%# Eval("URL") %>'
Text='<%# Eval("Title") %>'/></li>
</ItemTemplate>
<SelectedItemTemplate>
<li class="active">
<asp:HyperLink runat="server" NavigateUrl='<%# Eval("URL") %>'
Text='<%# Eval("Title") %>' /></li>
</SelectedItemTemplate>
</asp:ListView>
在.cs文件上我有一个字符串
protected string CurrentName = MyMethod();
//返回一个字符串或null
我想在我的CurrentName的依赖性中<LayoutTemplate>
显示不同的标签结构
我试着这样:
<% if(this.CurrentName ==null){ %>
<ul class="menu">
<li><a href="/"><i></i>home</a></li>
<li runat="server" />
<li class="myClass">
<a title="SomeTitle" href="example.com/default.aspx">
</a>
</li>
</ul>
<ascx:Menu runat="server" Visible="true" />
<% } else { %>
<ul class="menu">
<li><a href="/"><i></i>home</a></li>
<li class="myClass">
<ascx:Menu runat="server" Visible="true" />
</li>
</ul>
<% } %>
这个方法不起作用,如何在ASPX页面中使用IF语句呢?
答案 0 :(得分:1)
我将使用两个面板实现此功能,这两个面板在Visible
属性上具有独占条件,因此在一次加载时只渲染其中一个:
<asp:Panel runat="server" Visible='<%# this.CurrentName == null %>'>
<ul class="menu">
<li><a href="/"><i></i>home</a></li>
<li runat="server" />
<li class="myClass">
<a title="SomeTitle" href="example.com/default.aspx">
</a>
</li>
</ul>
<ascx:Menu runat="server" Visible="true" />
</asp:Panel>
<asp:Panel runat="server" Visible='<%# this.CurrentName != null %>'>
<ul class="menu">
<li><a href="/"><i></i>home</a></li>
<li class="myClass">
<ascx:Menu runat="server" Visible="true" />
</li>
</ul>
</asp:Panel>