or
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default2.aspx.cs" Inherits="default2" %><br><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><br><br><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br><br><html xmlns="http://www.w3.org/1999/xhtml"><br><head runat="server"><br> <title></title><br></head><br><body><br> <form id="form1" runat="server"><br> <div><br> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager><br> <div><br> <div><br> Hover a menu item to populate its children from the WCF service.<br> </div><br> </div> <br> <br><br> <br /><br><br> <div> <br> <telerik:RadMenu runat="server" ID="RadMenu2" <br> DataSourceID="SqlDataSource1"<br> DataTextField="name"<br> DataValueField="CategoryId"<br> EnableRoundedCorners="true" EnableShadows="true"> <br> <WebServiceSettings Path="MenuWcfService.svc" Method="LoadDataCategorias" /> <br> <LoadingStatusTemplate><br> <asp:Image runat="server" ID="LoadingImage" ImageUrl="ajax-loader.gif" ToolTip="Loading..." Width="16px" Height="16px" style="margin-top:8px" /><br> </LoadingStatusTemplate><br> <DataBindings> <br> <telerik:RadMenuItemBinding Depth="0" ExpandMode="WebService" /><br> </DataBindings><br> <br><br> </telerik:RadMenu><br><br><br> <asp:SqlDataSource ID="SqlDataSource1" runat="server" <br> SelectCommand="select categoryid,name,parentCategoryid from dbo.Nop_Category where parentCategoryid = 0" <br> ConnectionString="<%$ ConnectionStrings:ConnectionString %>" <br> SelectCommandType="Text"> <br> </asp:SqlDataSource><br> </div><br><br> <div style="padding-top:80px;"></div><br> </div><br> </form><br></body><br></html>using System;<br>using System.Collections.Generic;<br>using System.Linq;<br>using System.ServiceModel;<br>using System.ServiceModel.Activation;<br>using Telerik.Web.UI;<br>using System.Data.SqlClient;<br>using System.Data;<br>using System.Configuration;<br><br><br>namespace Test<br>{<br> [ServiceContract(Namespace = "")]<br> [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]<br> public class MenuWcfService<br> {<br><br> //1.<br> [OperationContract]<br> public RadMenuItemData[] LoadDataCategorias(RadMenuItemData item, IDictionary<string, object> context)<br> {<br> DataTable data = GetChildNodes(item.Value);<br> List<RadMenuItemData> result = new List<RadMenuItemData>();<br><br> foreach (DataRow row in data.Rows)<br> {<br> RadMenuItemData itemData = new RadMenuItemData();<br> itemData.Text = row["name"].ToString();<br> itemData.Value = row["CategoryId"].ToString();<br> itemData.NavigateUrl = "http://www.google.pt";<br> if (Convert.ToInt32(row["ChildrenCount"]) > 0)<br> {<br> itemData.ExpandMode = MenuItemExpandMode.WebService;<br> }<br> result.Add(itemData);<br> }<br><br> return result.ToArray();<br> }<br><br> //2<br> private static DataTable GetChildNodes(string parentId)<br> {<br> SqlCommand selectCommand = new SqlCommand(@"select pc1.categoryid,pc1.name,isnull(pc2.childrencount,0) as childrencount<br> from dbo.Nop_Category as pc1<br> left outer join <br> (<br> select parentCategoryid,count(*) as childrencount<br> from dbo.Nop_Category group by (parentCategoryid)<br> )as pc2<br> on <br> pc1.categoryid = pc2.parentCategoryid<br> where pc1.parentCategoryid = @parentId");<br><br> selectCommand.Parameters.AddWithValue("parentId", parentId);<br> return GetData(selectCommand);<br> }<br><br> //3<br> private static DataTable GetData(SqlCommand selectCommand)<br> {<br> selectCommand.Connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);<br> SqlDataAdapter adapter = new SqlDataAdapter(selectCommand);<br><br> DataTable data = new DataTable();<br> adapter.Fill(data);<br><br> return data;<br> } <br> }<br>}<input id="ctl00_cphMainContent_gvFinalTest_ctl02_txtRound1_text" class="riTextBox riEnabled" type="text" style="width:100%;" name="ctl00_cphMainContent_gvFinalTest_ctl02_txtRound1_text"><input id="ctl00_cphMainContent_gvFinalTest_ctl02_txtRound1" class="rdfd_" type="text" title="" value="" style="visibility:hidden;float:right;margin:-18px 0 0 -1px;width:1px;height:1px;overflow:hidden;border:0;padding:0;"><input id="ctl00_cphMainContent_gvFinalTest_ctl02_txtRound1_Value" class="rdfd_" type="text" title="" value="" name="ctl00$cphMainContent$gvFinalTest$ctl02$txtRound1" style="visibility:hidden;float:right;margin:-18px 0 0 -1px;width:1px;height:1px;overflow:hidden;border:0;padding:0;">
<telerik:RadScriptBlock runat="server"> <script type="text/javascript" language="javascript"> function pageLoaded(sender, args) { var settings = sender._postBackSettings; if (settings != null) { var postbackControlID = new String(settings.sourceElement.id); if (postbackControlID.toUpperCase().indexOf("PRIORITYLINKBUTTON", 0) > 0) { var slidingZone = $find("<%= RadSlidingZone1.ClientID %>"); if (slidingZone != null) { var prioritySlidingPane = slidingZone.getPaneById("<%= RightSlidePane.ClientID %>"); slidingZone.expandPane("<%= RightSlidePane.ClientID %>"); } } } } </script><script type="text/javascript" language="javascript"> Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded) </script><telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="CollaborateDiscussionPanel"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="CollaborateDiscussionPanel" /> <telerik:AjaxUpdatedControl ControlID="PManagerSummary1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="PManagerSummary1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="PManagerSummary1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager>at System.Collections.ArrayList.get_Item(Int32 index)at Telerik.Web.UI.GridColumnCollection.System.Web.UI.IStateManager.LoadViewState(Object savedState)at Telerik.Web.UI.GridTableView.LoadStructureState(Object SavedStructure)at Telerik.Web.UI.RadGrid.LoadTableViewStructure(IEnumerator stateEnumerator, GridTableView tableView)at Telerik.Web.UI.RadGrid.LoadViewState(Object savedStateObject)at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState)at System.Web.UI.Control.LoadViewStateRecursive(Object savedState)at System.Web.UI.Control.AddedControl(Control control, Int32 index)at System.Web.UI.ControlCollection.Add(Control child)at CoreWebAdmin.OrderProductSummary.radToolTipManager_AjaxUpdate(Object sender, ToolTipUpdateEventArgs e) in J:\Work\Yitz\eBayPosting\CoreWebAdmin\Orders\OrderProductSummary.aspx.vb:line 1557at Telerik.Web.UI.RadToolTipManager.OnAjaxUpdate(ToolTipUpdateEventArgs e)at Telerik.Web.UI.RadToolTipManager.LoadClientState(Dictionary`2 clientState)at Telerik.Web.UI.RadWebControl.LoadPostData(String postDataKey, NameValueCollection postCollection)at Telerik.Web.UI.RadWebControl.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection)at System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)