0

使用 Telerik Asp.net MVC 菜单控件,我试图在子菜单中获取 ul 的 id。我尝试将 HtmlAttributes(new { @id="myId" }) 调用放在几个地方,但似乎无法弄清楚将其放在何处以获取 .

在下面的代码片段中,我展示了我尝试调用 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))

有没有办法用这个控件在 <ul> 上获取一个 ID?

4

1 回答 1

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>
于 2011-05-06T08:21:55.577 回答