【问题标题】:how to apply a style to an asp.net menu when the item is selectable=false当项目可选= false时如何将样式应用于asp.net菜单
【发布时间】:2017-06-19 22:02:27
【问题描述】:

我正在使用 asp.net 菜单控件。根据用户的权限,我将菜单上的一些项目设置为 selectable=false。所以 asp.net 把链接拿走了,很酷。但我想让它在视觉上明显不同,例如变灰。即我希望 selectable=true 项目与 selectable=false 项目有不同的 CSS 样式。有没有办法做到这一点?我没有看到它的选项。

【问题讨论】:

  • 当它们渲染出来时,你能检查禁用的 CSS 类吗?我敢肯定,您可以根据需要添加一条规则来区分它们。
  • selectable 是否作为属性添加到您的菜单项中?您的问题需要更多关于您如何处理该部分和生成的标记的详细信息。
  • @ricky asp 菜单控件具有“可选”属性。它不会成为 HTML 的属性。将 selectable 设置为 false 会导致未设置 href。

标签: css asp.net menu


【解决方案1】:

只需找到css中没有'#' href的链接。

<style>
        .MenuExample a:not([href='#']) {
            background-color: red !important;
        }
    </style>    
<asp:Menu ID="Menu1" runat="server" StaticDisplayLevels="3" CssClass="MenuExample">
          <Items>
            <asp:MenuItem Text="File" Value="File">
              <asp:MenuItem Text="New" Value="New"></asp:MenuItem>
              <asp:MenuItem Text="Open" Value="Open" Selectable="false"></asp:MenuItem>
            </asp:MenuItem>
            <asp:MenuItem Text="Edit" Value="Edit">
              <asp:MenuItem Text="Copy" Value="Copy"></asp:MenuItem>
              <asp:MenuItem Text="Paste" Value="Paste"></asp:MenuItem>
            </asp:MenuItem>
            <asp:MenuItem Text="View" Value="View">
              <asp:MenuItem Text="Normal" Value="Normal"></asp:MenuItem>
              <asp:MenuItem Text="Preview" Value="Preview"></asp:MenuItem>
            </asp:MenuItem>
          </Items>
        </asp:Menu>]

【讨论】:

  • 这基本上奏效了。我最终使用 ":not([href]) 来获取非弹出和非链接,但是是的。
猜你喜欢
  • 2012-05-26
  • 2012-10-02
  • 2011-12-26
  • 2017-04-03
  • 2019-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-05
相关资源
最近更新 更多