0

Telerik Asp.net MVCメニューコントロールを使用して、サブメニューのulのIDを取得しようとしています。HtmlAttributes(new {@ id = "myId"})呼び出しをいくつかの場所に配置しようとしましたが、IDを取得するためにどこに配置するかがわかりません。

以下のコードスニペットでは、HtmlAttributesメソッドを呼び出してみた2つの場所を示しています。呼び出し後のコメントは、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 属性を設定することはできません。メニューの OnLoad クライアント側イベントをフックすることで、jQuery を使用してこれを行うことができます。

<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 に答える