【问题标题】:RadMenu hide submenuRadMenu 隐藏子菜单
【发布时间】:2015-03-19 19:03:22
【问题描述】:

我正在使用 Radmenu。我喜欢隐藏子菜单项。

菜单如下所示。请注意,Car 是主菜单,Dodge、Toyota 和 Honda 是子菜单。

汽车 - 道奇 - 丰田 - 本田

我正在尝试执行以下操作,但不起作用:

     protected void RadMenu1_ItemCreated(object sender, Telerik.Web.UI.RadMenuEventArgs e)
     {
      if (e.Item is RadMenuItem)
       {

        if (e.Item.Parent != null && e.Item.Parent is RadMenuItem)
        {
            if (e.Item.Menu.FindItemByText("Honda"))
            {
                e.Item.Visible = false;
            }
        }
    }
}

【问题讨论】:

  • 如果菜单是在html中以声明方式定义的或者在调用DataBind()方法后,如果菜单是数据绑定的,为什么不隐藏Page_Load中的项目?

标签: telerik radmenu


【解决方案1】:

请尝试使用下面的代码 sn-p,如果有任何问题,请告诉我。

ASPX

<div>
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
    <telerik:RadMenu ID="RadMenu1" runat="server"  OnPreRender="RadMenu1_PreRender">
        <Items>
            <telerik:RadMenuItem Text="cars">
                <Items>
                    <telerik:RadMenuItem Text="Honda"></telerik:RadMenuItem>
                    <telerik:RadMenuItem Text="Toyota"></telerik:RadMenuItem>
                </Items>
            </telerik:RadMenuItem>
        </Items>
    </telerik:RadMenu>
</div>

ASPX.CS

protected void RadMenu1_PreRender(object sender, EventArgs e)
{
    foreach (RadMenuItem item in (sender as RadMenu).Items)
    {
        if (item.Items.Count > 0)
        {
            foreach (RadMenuItem citem in item.Items)
            {   
                if (citem.Text != "Honda")
                {
                    citem.Visible = false;
                }
            }
        }
    }
}

// Hide top menu cars
protected void RadMenu1_PreRender(object sender, EventArgs e)
{
foreach (RadMenuItem item in (sender as RadMenu).Items)
{
    if (item.Items.Count > 0)
    {
        if(item.Text == "cars")
        {
          item.Visible = false;
        }
        foreach (RadMenuItem citem in item.Items)
        {   
            if (citem.Text != "Honda")
            {
                citem.Visible = false;
            }
        }
    }
}
}

【讨论】:

  • 嗨 Jayesh,你能帮我吗:stackoverflow.com/questions/29216099/…
  • 嗨 Jayesh,隐藏顶部菜单“汽车”的最佳方法是什么。我的代码中有一些顶级菜单需要隐藏。
  • 如果顶部菜单中只有一项,那么我建议请设置 'RadMenu1.Visible="false"' 因为空菜单也会在页面中创建一些 'div' 元素,如果您有多个顶层菜单,那么您只能隐藏该选项,我也会尽快更新我的上述帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
相关资源
最近更新 更多