是否可以为asp分配Id:MenuItem?

时间:2013-05-14 08:43:20

标签: asp.net menuitem aspmenu

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

正如您所看到的,它们非常相似。任何解决方案?

1 个答案:

答案 0 :(得分:0)

我们无法为menuitem指定ID

您可以通过以下模式使用javascript获取“菜单对象”。

var myMenu = document.getElementById(“MyMenu”);

如果您检查呈现的HTML,您将看到它呈现为一个表(具有id MyMenu)和每个项目的一个元素。

所以你可以隐藏/显示你的任何元素:

document.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[]