Skip to content

Commit d115760

Browse files
github-actions[bot]KB Bot
andauthored
Added new kb article treeview-display-prompt-menu-item-click (#684)
Co-authored-by: KB Bot <[email protected]>
1 parent 7d8f3c9 commit d115760

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
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

Comments
 (0)