Telerik is a leading vendor of ASP.NET AJAX, ASP.NET MVC, Silverlight, WinForms and WPF controls and components, as well as .NET Reporting, .NET ORM , .NET CMS, Code Analysis, Mocking, Team Productivity and Automated Testing Tools. Building on its expertise in interface development and Microsoft technologies, Telerik helps customers build applications with unparalleled richness, responsiveness and interactivity. Telerik products help thousands of companies to be more productive and deliver reliable applications under budget and on time.
select

Menu / ADO.NET Service


  • Hover a menu item to populate its children from the ADO.NET Service

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Page Language="C#" %>

    <%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>
    <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
    <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <%@ Register Assembly="System.Web.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        Namespace="System.Web.UI.WebControls" TagPrefix="asp" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <qsf:HeadTag ID="Headtag1" runat="server"></qsf:HeadTag>
    </head>
    <body class="BODY">
        <form id="form1" runat="server">
        <div>
            <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
            </telerik:RadScriptManager>
            <qsf:Header ID="Header1" runat="server" NavigationLanguage="C#"></qsf:Header>

            <script type="text/javascript">
            //<![CDATA[
                function onSuccess(result, item) {
                    //the result in JSON format is available as a "d" field
                    var data = result.d;
                    //Traverse the array of objects and create combobox items
                    for (var i = 0; i < data.length; i++) {
                        var dataItem = data[i];

                        var childitem = new Telerik.Web.UI.RadMenuItem();
                        childitem.set_text(dataItem.Text);
                        childitem.set_value(dataItem.id);
                        item.get_items().add(childitem);
                    }
                    item.set_expandMode(Telerik.Web.UI.MenuItemExpandMode.ClientSide);
                    item.open();
                }

                function itemPopulating(sender, args) {
                    var item = args.get_item();
                    
                    //filter only the child items of the current item
                    var filter = "&$filter=parentId eq " + item.get_value();
                    
                    //Call the ADO.NET Data Service
                    $telerik.$.ajax({
                        type: "GET", // HTTP method
                        url: '<%= ResolveUrl("menuadonetservice.svc/Links?") %>' + filter, // ADO.NET DataService URL
                        contentType: "application/json; charset=utf-8", //request the result to be in JSON
                        dataType: "json",
                        success: function(result) { //callback method to invoke when the request is complete
                            onSuccess(result, item);
                        }
                    });
                    args.set_cancel(true);
                }
            //]]>
            </script>

            <telerik:RadMenu runat="server" ID="RadMenu1" DataSourceID="EntityDataSource1"
                DataTextField="Text" DataValueField="id" OnClientItemPopulating="itemPopulating"
                EnableRoundedCorners="true" EnableShadows="true">
                <DataBindings>
                    <telerik:RadMenuItemBinding Depth="0" ExpandMode="WebService" />
                </DataBindings>
            </telerik:RadMenu>
    <asp:EntityDataSource runat="server" ID="EntityDataSource1" ConnectionString="name=TelerikEntities"
    DefaultContainerName="TelerikEntities" EntitySetName="Links" Where="it.[parentId] IS NULL">

            </asp:EntityDataSource>        
            <div style="padding-top:80px;"></div>
            <qsf:Footer ID="Footer1" runat="server"></qsf:Footer>
        </div>
        </form>
    </body>
    </html>

Get more than expected!

Take your time to truly experience the power of RadControls for ASP.NET AJAX with a free 60-day trial backed up by Telerik’s unlimited dedicated support.

Download your RadControls for ASP.NET AJAX trial and jumpstart your development with the available Getting Started resources.

If you have any questions, do not hesitate to contact us at sales@telerik.com.

Copyright 2002-2012 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451