使用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?有这种控制吗?
答案 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>