如何在onclick事件上保持打开RadMenu

时间:2013-08-23 12:21:40

标签: asp.net telerik

我在Master页面中使用radmenu。 当我尝试点击radmenu项目时,我的radmenu得到了关闭。我想打开这个radmenu甚至点击。

我搜索了telerik中的一些论坛,其中人们说StaysOpenOnClick属性为True。

当我尝试设置StaysOpenOnClick属性时,该属性未显示在radmenu控件的属性框中。

表示我无法在控件中找到StaysOpenOnClick属性。

您能否为此问题提供解决方案。

我做了什么,

 <telerik:RadMenu ID="RadMenu3" runat="server" ClickToOpen="true"    >  
                       <Items>
                            <telerik:RadMenuItem Text="User Reminder" Selected="true" ImageUrl="../Images/todo.png" PostBack="false" Value="1" BackColor="#5872A6" ForeColor="White" Font-Bold="True" Font-Names="Verdana" Font-Size="1em" ToolTip="User Reminders">
                            <Items>
                            <telerik:RadMenuItem PostBack="false" >
                            <ItemTemplate>
                            <div style=" width:400px;" >
                            <ucProviderReminder:ProviderReminder ID="ProviderReminder" runat="server" />
                            </div>
                            </ItemTemplate>
                            </telerik:RadMenuItem>
                       </Items>
                            </telerik:RadMenuItem>
                       </Items>
                     </telerik:RadMenu>

2 个答案:

答案 0 :(得分:0)

在RadMenu属性中添加ClickToOpen="true"。例如,

  <telerik:RadMenu ID="RadMenu1" runat="server" Width="100%" Height="40px"   
   EnableRoundedCorners="True"  ClickToOpen="true" >

这是打开和关闭RadMenu的客户端javascript函数,这只是一个例子 但你可以参考这个。在此代码中,它有两个按钮,openclose 您可以看到,如果用户点击open,具有给定值的radmenu项目将会打开,它将保持不变,直到mouse over直到点击close按钮才会崩溃。

<script type="text/javascript">
  function OpenItem()
    {
        var menu = $find("RadMenu1");
        var text = $get("openTextBox").value;

        var item = menu.findItemByText(text);

        if (item)
        {
            item.open();
        }
        else
        {
            alert("Item with text '" + text + "' not found.");
        }
    }

    function CloseItem()
    {
        var menu = $find("RadMenu1");
        var text = $get("closeTextBox").value;

        var item = menu.findItemByText(text);

        if (item)
        {
            item.close();
        }
        else
        {
            alert("Item with text '" + text + "' not found.");
        }
    }
 </script>


    <telerik:RadMenu ID="RadMenu1" runat="server" EnableRoundedCorners="true" EnableShadows="true">
                <Items>
                    <telerik:RadMenuItem Text="Corporate">
                        <Items>
                            <telerik:RadMenuItem Text="About us">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem Text="Careers">
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadMenuItem>
                    <telerik:RadMenuItem Text="Services">
                        <Items>
                            <telerik:RadMenuItem Text="Products">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem Text="Solutions">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem Text="Certifications">
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadMenuItem>
                    <telerik:RadMenuItem Text="Work">
                        <Items>
                            <telerik:RadMenuItem Text="Clients">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem Text="Testimonials">
                            </telerik:RadMenuItem>
                            <telerik:RadMenuItem Text="FAQ">
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadMenuItem>
                </Items>
            </telerik:RadMenu>


      Item to open: &nbsp;<input type="text" id="openTextBox" value="Corporate" class="textfield"
                style="vertical-align: top;" />
            <button class="button" onclick="OpenItem();return false;" style="width: 70px">
                Open</button><br />
            Item to close:
            <input type="text" id="closeTextBox" value="Corporate" class="textfield" style="vertical-align: top;" />
            <button class="button" onclick="CloseItem();return false;" style="width: 70px">
                Close</button><br />

答案 1 :(得分:-1)

StaysOpenOnClick属性在RadMenuItem上可用,而不是RadMenu。看看RadMenuItem上的StaysOpenOnClick是否适用于您的情况。

    <telerik:RadMenu ID="RadMenu3" runat="server" ClickToOpen="true"    >
                        <Items>
                            <telerik:RadMenuItem StaysOpenOnClick="True" Text="User Reminder" Selected="true" ImageUrl="../Images/todo.png" PostBack="false" Value="1" BackColor="#5872A6" ForeColor="White" Font-Bold="True" Font-Names="Verdana" Font-Size="1em" ToolTip="User Reminders" >
                                <Items>
                                    <telerik:RadMenuItem PostBack="false" >
                                        <ItemTemplate>
                                            <div style=" width:400px;" >
                                                <ucProviderReminder:ProviderReminder ID="ProviderReminder" runat="server" />
                                            </div>
                                        </ItemTemplate>
                                    </telerik:RadMenuItem>
                                </Items>
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadMenu>