如何在aspx页面中使用If语句

时间:2014-05-16 13:13:30

标签: c# asp.net listview

我有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

在aspx页面中的

我想在我的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语句呢?

1 个答案:

答案 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>