|
| 1 | +--- |
| 2 | +title: Displaying a Prompt for RadTreeView Menu Items in ASP.NET AJAX |
| 3 | +description: Learn how to display a prompt when a menu item is clicked in the RadTreeView for ASP.NET AJAX and trigger server-side events based on user confirmation. |
| 4 | +type: how-to |
| 5 | +page_title: Trigger Server-Side Events After Prompt Confirmation in RadTreeView |
| 6 | +slug: treeview-display-prompt-menu-item-click |
| 7 | +tags: radtreeview, asp.net ajax, menu-item, contextmenuitemclicking, server-side-event, javascript, prompt |
| 8 | +res_type: kb |
| 9 | +ticketid: 1686420 |
| 10 | +--- |
| 11 | + |
| 12 | +## Environment |
| 13 | + |
| 14 | +<table> |
| 15 | +<tbody> |
| 16 | +<tr> |
| 17 | +<td>Product</td> |
| 18 | +<td>RadTreeView for ASP.NET AJAX</td> |
| 19 | +</tr> |
| 20 | +<tr> |
| 21 | +<td>Version</td> |
| 22 | +<td>All</td> |
| 23 | +</tr> |
| 24 | +</tbody> |
| 25 | +</table> |
| 26 | + |
| 27 | +## Description |
| 28 | + |
| 29 | +I want to display a prompt when a user clicks on a menu item in the RadTreeView for ASP.NET AJAX. If the user confirms the prompt, I need to trigger the server-side `ContextMenuItemClick` event to execute specific logic. |
| 30 | + |
| 31 | +This knowledge base article also answers the following questions: |
| 32 | + |
| 33 | +- How to use JavaScript to show a confirmation prompt for RadTreeView menu items? |
| 34 | +- How to cancel a menu click event based on user input in RadTreeView? |
| 35 | +- How to handle server-side logic after a prompt confirmation in RadTreeView? |
| 36 | + |
| 37 | +## Solution |
| 38 | + |
| 39 | +To achieve this functionality, use the client-side `OnClientContextMenuItemClicking` event to display a prompt and control whether the event proceeds. Then, use the server-side `ContextMenuItemClick` event to execute logic based on the user's confirmation. |
| 40 | + |
| 41 | +Add the `OnClientContextMenuItemClicking` event to the RadTreeView control. Use JavaScript to display a confirmation dialog and cancel the event if the user chooses to cancel. |
| 42 | + |
| 43 | +````ASP.NET |
| 44 | +<telerik:RadTreeView ID="RadTreeView1" runat="server" |
| 45 | + OnClientContextMenuItemClicking="onClientContextMenuItemClicking" |
| 46 | + OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> |
| 47 | + <ContextMenus> |
| 48 | + <telerik:RadTreeViewContextMenu> |
| 49 | + <Items> |
| 50 | + <telerik:RadMenuItem Text="Menu Item 1"></telerik:RadMenuItem> |
| 51 | + <telerik:RadMenuItem Text="Menu Item 2"></telerik:RadMenuItem> |
| 52 | + </Items> |
| 53 | + </telerik:RadTreeViewContextMenu> |
| 54 | + </ContextMenus> |
| 55 | + <Nodes> |
| 56 | + <telerik:RadTreeNode Text="Node" /> |
| 57 | + </Nodes> |
| 58 | +</telerik:RadTreeView> |
| 59 | +```` |
| 60 | + |
| 61 | +````JavaScript |
| 62 | +function onClientContextMenuItemClicking(sender, args) { |
| 63 | + let confirmed = confirm("Do you want to proceed?"); |
| 64 | + |
| 65 | + if (!confirmed) { |
| 66 | + args.set_cancel(true); |
| 67 | + } |
| 68 | +} |
| 69 | +```` |
| 70 | + |
| 71 | +Handle the `ContextMenuItemClick` event on the server side to execute your desired logic only if the user confirms the prompt. |
| 72 | + |
| 73 | +````C# |
| 74 | +protected void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) |
| 75 | +{ |
| 76 | + if (e.MenuItem.Text == "Menu Item 1") |
| 77 | + { |
| 78 | + // Your server-side logic here |
| 79 | + } |
| 80 | +} |
| 81 | +```` |
| 82 | + |
| 83 | +This approach ensures that the prompt is displayed on the client side and server-side logic is executed only if the user confirms the action. |
| 84 | + |
| 85 | +## See Also |
| 86 | + |
| 87 | +- [RadTreeView Client-Side Events: OnClientContextMenuItemClicking](https://www.telerik.com/products/aspnet-ajax/documentation/controls/treeview/client-side-programming/events/onclientcontextmenuitemclicking#onclientcontextmenuitemclicking) |
| 88 | +- [RadTreeView Server-Side Events: ContextMenuItemClick](https://docs.telerik.com/devtools/aspnet-ajax/controls/treeview/server-side-programming/events/contextmenuitemclick) |
| 89 | +- [RadTreeView Overview Documentation](https://docs.telerik.com/devtools/aspnet-ajax/controls/treeview/overview) |
0 commit comments