Hi,
I have a RadTreeView with dynamic items, dynamically added on server-side. The RadTreeView has 2 ContextMenues declared in HTML, on server-side I set the ContextMenueID-Property depending on an attribute from the database (simplified in the example)
If I run the site, I get a Javascript error "menu is null" on line "var items = menu.get_items();"
This used to work before, but I don't know version I used back then.
Now I'm using newest release 2010.1.519(.40)
Here's the aspx-Content:
And the CodeBehind:
Any help is appreciated,
Lukas
I have a RadTreeView with dynamic items, dynamically added on server-side. The RadTreeView has 2 ContextMenues declared in HTML, on server-side I set the ContextMenueID-Property depending on an attribute from the database (simplified in the example)
If I run the site, I get a Javascript error "menu is null" on line "var items = menu.get_items();"
This used to work before, but I don't know version I used back then.
Now I'm using newest release 2010.1.519(.40)
Here's the aspx-Content:
| <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="test.aspx.vb" Inherits="Intranet.test" %> |
| <%@ 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 id="Head1" runat="server"> |
| <title>Intranet</title> |
| </head> |
| <body style=" background-color:White;"> |
| <form id="form1" method="post" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager2" runat="server"> |
| </telerik:RadScriptManager> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| </telerik:RadAjaxManager> |
| <div class="divMenue"> |
| <telerik:RadAjaxPanel ID="rap_Menue" runat="server" ClientIDMode="Static"> |
| <telerik:RadTreeView ID="rtv_Menue" ClientIDMode="Static" Runat="server" DataNavigateUrlField="URL" |
| DataTextField="Title" EnableViewState="true" |
| AfterClientToggle="AfterClientToggle" EnableDragAndDrop="True" |
| EnableDragAndDropBetweenNodes="True" LoadingMessage="Wird geladen ..." OnClientContextMenuShowing="ClientContextMenuShowing" |
| Skin="Default" OnClientLoad="setTree" > |
| <ContextMenus> |
| <telerik:RadTreeViewContextMenu ID="ctm_FavMenu" runat="server" |
| Skin="Default"> |
| <Items> |
| <telerik:RadMenuItem runat="server" Text="New"> |
| <Items> |
| <telerik:RadMenuItem> |
| <ItemTemplate> |
| <table> |
| <tr> |
| <td>Name:</td> |
| <td><asp:TextBox runat="server" ID="txt_FavName" Width="300px" /></td> |
| </tr> |
| <tr> |
| <td>URL</td> |
| <td><asp:TextBox runat="server" ID="txt_FavURL" Width="300px" /></td> |
| </tr> |
| <tr> |
| <td>Icon</td> |
| <td> |
| <asp:RadioButtonList runat="server" RepeatColumns="8" ID="rbl_FavIcon" /> |
| </td> |
| </tr> |
| </table> |
| </ItemTemplate> |
| </telerik:RadMenuItem> |
| <telerik:RadMenuItem runat="server" IsSeparator="true"/> |
| <telerik:RadMenuItem runat="server" Text="Speichern"/> |
| </Items> |
| </telerik:RadMenuItem> |
| <telerik:RadMenuItem runat="server" Text="Edit"> |
| <Items> |
| <telerik:RadMenuItem> |
| <ItemTemplate> |
| <table> |
| <tr> |
| <td>Name:</td> |
| <td><asp:TextBox runat="server" ID="txt_FavNamechng" Width="300px" /></td> |
| </tr> |
| <tr> |
| <td>URL</td> |
| <td><asp:TextBox runat="server" ID="txt_FavURLchng" Width="300px" /></td> |
| </tr> |
| <tr> |
| <td>Icon</td> |
| <td> |
| <asp:RadioButtonList runat="server" RepeatColumns="8" ID="rbl_FavIconchng" /> |
| </td> |
| </tr> |
| </table> |
| </ItemTemplate> |
| </telerik:RadMenuItem> |
| <telerik:RadMenuItem runat="server" IsSeparator="true"/> |
| <telerik:RadMenuItem runat="server" Text="Speichern"/> |
| </Items> |
| </telerik:RadMenuItem> |
| <telerik:RadMenuItem runat="server" Text="Löschen" /> |
| </Items> |
| </telerik:RadTreeViewContextMenu> |
| <telerik:RadTreeViewContextMenu ID="ctm_NormMenu" runat="server" Skin="Default"> |
| <Items> |
| <telerik:radmenuitem runat="server" Text="Add to Favorits" /> |
| </Items> |
| </telerik:RadTreeViewContextMenu> |
| </ContextMenus> |
| </telerik:RadTreeView> |
| </telerik:RadAjaxPanel> |
| </div> |
| <telerik:RadScriptBlock ID="rsb_getTree" runat="server"> |
| <script type="text/javascript" language="javascript"> |
| var tree; |
| window.onbeforeunload = onRequestStart; |
| function setTree(sender, eventArgs) { |
| tree = $find('<%=rtv_Menue.ClientID%>'); |
| } |
| function createCookie() { |
| var toggleActions = ""; |
| var nodes; |
| var node; |
| nodes = tree.get_allNodes(); |
| for (var i = 1; i < nodes.length; i++) { |
| node = nodes[i] |
| if (node.get_expanded()) { |
| toggleActions += node.get_value() + '*'; |
| } |
| } |
| var date = new Date(); |
| date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000)); |
| var expires = "; expires=" + date.toGMTString(); |
| document.cookie = "TreeToggleActions=" + toggleActions + expires + "; path=/"; |
| } |
| function onRequestStart(sender, arguments) { |
| createCookie(); |
| } |
| function onResponseEnd(sender, arguments) { |
| isUpdatingAppointment = false; |
| } |
| function ClientContextMenuShowing(sender, eventArgs) { |
| var node = eventArgs.get_node(); |
| var menu = eventArgs.get_menu(); |
| var items = menu.get_items(); //Error is thrown here, "menu is null" |
| document.getElementById('txt_FavNamechng').value = node.get_text(); |
| document.getElementById('txt_FavURLchng').value = node.get_navigateUrl(); |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| </form> |
| </body> |
| </html> |
And the CodeBehind:
| Imports Telerik.Web.UI |
| Public Class test |
| Inherits System.Web.UI.Page |
| Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load |
| Dim node = New RadTreeNode() |
| node.Text = "TestNode" |
| node.ContextMenuID = "ctm_FavMenu" ''same with ctm_NormMenu |
| rtv_Menue.Nodes.Add(node) |
| End Sub |
| End Class |
Any help is appreciated,
Lukas