有可能给一个asp:MenuItem分配一个Id吗?



我有一个asp:菜单,其中目前有4个菜单项。我已经能够设置菜单的id作为一个整体,但菜单项的超链接大多是相同的。我希望能够识别每一个使用Id或类似。这可能吗?

这是我的菜单:

<asp:Menu ID="NavigationMenu" runat="server" Orientation="Horizontal" 
          OnMenuItemClick="NavigationMenu_OnMenuItemClick"
          CssClass="Menu">
          <StaticMenuItemStyle ForeColor="Black" CssClass="MenuItem" ItemSpacing="20" />
          <StaticSelectedStyle CssClass="MenuItemSelected"></StaticSelectedStyle>
          <Items>
              <asp:MenuItem Value="0" Text="New" Selected="True"></asp:MenuItem>
              <asp:MenuItem Value="1" Text="Approved"></asp:MenuItem>
              <asp:MenuItem Value="2" Text="Rejected"></asp:MenuItem>
              <asp:MenuItem Value="3" Text="Done"></asp:MenuItem>
          </Items>
</asp:Menu>

这是浏览器中第二个和第三个菜单项(当前未选中)的结果

<a class="NavigationMenu_1 MenuItem NavigationMenu_3" href="javascript:__doPostBack('NavigationMenu','2')" style="border-style:none;font-size:1em;">Rejected</a>

<a class="NavigationMenu_1 MenuItem NavigationMenu_3" href="javascript:__doPostBack('NavigationMenu','3')" style="border-style:none;font-size:1em;">Done</a>

正如你所看到的,它们非常相似。有什么解决办法吗?

我们不能为菜单项指定id

你可以通过下面的模式在javascript中获得"menu object"

var myMenu = document.getElementById(" myMenu ");

如果你检查渲染的HTML,你会看到它被渲染为一个表格(id为MyMenu),每个项目一个元素。

你可以像这样隐藏/显示任何元素:

. getelementbyid (MyMenu) .tBodies [0] .rows [0] .style。Display = "none";

下面是关于表DOM元素的一个很好的教程:

http://www.howtocreate.co.uk/tutorials/javascript/domtables

caption
    childNodes[] 
tHead
    rows[]
        cells[]
            childNodes[]
tFoot
    rows[]
        cells[]
            childNodes[]
tBodies[]
    rows[]
        cells[]
            childNodes[]

相关内容

  • 没有找到相关文章

最新更新