使用Telerik MVC菜单控件</ul>在子菜单的<ul>上设置html id

时间:2011-02-28 19:26:16

标签: telerik-mvc

使用Telerik Asp.net MVC菜单控件,我试图在子菜单中获取ul的id。我已经尝试将HtmlAttributes(新的{@ id =“myId”})调用放在几个地方,但似乎无法弄清楚将它放在哪里以获取id。

在下面的代码片段中,我展示了我尝试调用HtmlAttributes方法的两个地方。通话后的评论解释了Telerik控件实际放置id的位置。

@(Html.Telerik().Menu()
    .Name("mainMenu")
    .Items(menu =>
    {
        menu.Add()
            .Text("Tools")
            .Items(item =>
            {
                item.Add().Text("Add To Toolbox").HtmlAttributes(new {@id="toolsMenu"}); @* this puts the id on the "Add To Toolbox" <li>*@
                item.Add().Text("Toolbox");
            }).HtmlAttributes(new {@id="toolsMenu"}); @* this puts the id on the "Tools" <li>*@
        menu.Add()
            .Text("Setup")
            .Items(item =>
            {
                item.Add().Text("Print Header");
                item.Add().Text("MenuLabelAccountInformation");
            });
 }).OpenOnClick(true))

有没有办法在&lt; ul&gt;上获取ID?有这种控制吗?

1 个答案:

答案 0 :(得分:0)

您无法从服务器端代码设置UL的id属性。你可以使用jQuery来挂钩菜单的OnLoad客户端事件:

<script type="text/javascript">
  function onLoad() {
     var id = 0;
     $(this).find("ul").each( function() {
        this.id = "ul_" + id;
        id ++;
     });
  }
</script>