Hi,
I am trying to use a context menu in treeview. for demo puropose i have two menu item add and new. when I am click on add context menu then trying to visible a div from server side but its not happening. please see my code below. Thanks.
I am trying to use a context menu in treeview. for demo puropose i have two menu item add and new. when I am click on add context menu then trying to visible a div from server side but its not happening. please see my code below. Thanks.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ContentMenu.aspx.cs" Inherits="CMSEngine.Web.Admin.Desk.Content.ContentMenu" %><%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %><!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 runat="server"> <title>Untitled Page</title></head><body> <form id="form1" runat="server"> <div> <div style="float:left; width:350px;"> <telerik:RadScriptManager runat="server" ID="RadScriptManager1" /> <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="DeleteButton"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadTreeView1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="AddButton"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadTreeView1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanel1" /> <asp:Button ID="DeleteButton" runat="server" OnClick="DeleteButton_Click" ValidationGroup="DeleteRequiresSelection" Text="Delete selected node"></asp:Button> <br /><br /> <asp:Button ID="AddButton" runat="server" OnClick="AddButton_Click"ValidationGroup="TextRequired" Text="Add new node"></asp:Button><br /> <br /> <telerik:RadTextBox runat="Server" ID="NodeTextBox" EmptyMessage="Enter node text"></telerik:RadTextBox><br /><br /> <telerik:RadTreeView ID="RadTreeView1" Runat="server" CausesValidation="false " onnodeclick="RadTreeView1_NodeClick" oncontextmenuitemclick="RadTreeView1_ContextMenuItemClick"> <ContextMenus> <telerik:RadTreeViewContextMenu ID="RadTreeViewContextMenu1" runat="server"> <Items> <telerik:RadMenuItem runat="server" Text="Add New Page" PostBack="true" > </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Remove" PostBack="true"> </telerik:RadMenuItem> </Items> </telerik:RadTreeViewContextMenu> </ContextMenus> <DataBindings> <telerik:RadTreeNodeBinding Expanded="true" /> </DataBindings></telerik:RadTreeView> </div> <div id="divNew" style="float:left; width:450px; padding-left:15px; display:none;" runat="server" > <table border="0" cellpadding="0" cellspacing="0"> <tr> <td>Title: </td> <td><telerik:RadTextBox ID="txtTile" runat="server" EmptyMessage="Enter page title"></telerik:RadTextBox></td> </tr> <tr> <td>Alias: </td> <td><telerik:RadTextBox ID="txtAlias" runat="server" EmptyMessage="Enter page alias"></telerik:RadTextBox></td> </tr> <tr> <td>Path: </td> <td><telerik:RadTextBox ID="txtPath" runat="server" EmptyMessage="Enter page path"></telerik:RadTextBox></td> </tr> <tr> <td>LinkURL: </td> <td><telerik:RadTextBox ID="txtLinkUrl" runat="server" EmptyMessage="Enter page link"></telerik:RadTextBox></td> </tr> </table> </div> </div> </form></body></html>using System;using System.Collections;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using Telerik.Web.UI;namespace CMSEngine.Web.Admin.Desk.Content{ public partial class ContentMenu : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SetupTree(); } } private void SetupTree() { List<SiteDataItem> items = SiteDataItem.GetSiteData(); RadTreeView1.DataSource = items; RadTreeView1.DataFieldID = "ID"; RadTreeView1.DataFieldParentID = "ParentID"; RadTreeView1.DataTextField = "Text"; RadTreeView1.DataBind(); } protected void RadTreeView1_NodeClick(object sender, RadTreeNodeEventArgs e) { } protected void DeleteButton_Click(object sender, EventArgs e) { Page.Validate("DeleteRequiresSelection"); if (Page.IsValid) { RadTreeView1.SelectedNode.Remove(); } } protected void AddButton_Click(object sender, EventArgs e) { Page.Validate("TextRequired"); if (Page.IsValid) { IRadTreeNodeContainer target = RadTreeView1; if (RadTreeView1.SelectedNode != null) { RadTreeView1.SelectedNode.Expanded = true; target = RadTreeView1.SelectedNode; } RadTreeNode addedNode = new RadTreeNode(NodeTextBox.Text); addedNode.Selected = true; target.Nodes.Add(addedNode); } } public class SiteDataItem { private string _text; private int _id; private int _parentId; public string Text { get { return _text; } set { _text = value; } } public int ID { get { return _id; } set { _id = value; } } public int ParentID { get { return _parentId; } set { _parentId = value; } } public SiteDataItem(int id, int parentId, string text) { _id = id; _parentId = parentId; _text = text; } public static List<SiteDataItem> GetSiteData() { List<SiteDataItem> siteData = new List<SiteDataItem>(); siteData.Add(new SiteDataItem(1, 0, "Products")); siteData.Add(new SiteDataItem(2, 1, "RadControls for ASP.NET Ajax")); siteData.Add(new SiteDataItem(3, 1, "RadControls for Silverlight")); siteData.Add(new SiteDataItem(4, 2, "RadGrid")); siteData.Add(new SiteDataItem(5, 2, "RadScheduler")); siteData.Add(new SiteDataItem(6, 2, "RadEditor")); siteData.Add(new SiteDataItem(7, 3, "RadGrid")); siteData.Add(new SiteDataItem(8, 3, "RadMenu")); siteData.Add(new SiteDataItem(9, 3, "RadEditor")); return siteData; } } protected void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) { if (e.MenuItem.Text == "Add New Page") { divNew.Visible = true; } else if (e.MenuItem.Text == "Remove") { RadTreeView1.SelectedNode.Remove(); } } }}