ASPxMenuBase.ItemClick Event
Fires after a menu item has been clicked.
Namespace: DevExpress.Web
Assembly: DevExpress.Web.v24.2.dll
Declaration
Event Data
The ItemClick event's data class is MenuItemEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Item | Gets an item object related to the event. |
Remarks
Write a ItemClick event handler to perform specific actions on the server side each time a menu item is clicked within a menu control. Note that this event fires immediately after the left mouse button is released. If the button is released when the mouse pointer is not over an item, the event doesn’t fire. You can use the event parameter’s property to identify the clicked item.
Note
The server ItemClick event is not generated for items whose MenuItem.NavigateUrl property’s value is defined.
Example
This sample demonstrates how to disable sending a postback and generating the server ItemClick event for the menu items that contain sub-items. In this sample, the desired behavior is implemented by setting the e.processOnServer parameter to false within the handler of the menu client ItemClick event.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.v13.1" Namespace="DevExpress.Web.ASPxMenu" TagPrefix="dxm" %>
<!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>
<p>
Try clicking menu items.</p>
<p>
Note: Clicking a parent item (an item that has sub-items) does not fire the menu
server-side ItemClick event.</p>
<dxm:ASPxMenu ID="ASPxMenu1" runat="server" BorderBetweenItemAndSubMenu="HideAll"
OnItemClick="ASPxMenu1_ItemClick" SelectParentItem="True" ShowPopOutImages="True">
<Items>
<dxm:MenuItem Text="Root 1">
<Items>
<dxm:MenuItem Text="Sub Item">
<Items>
<dxm:MenuItem Text="Item 1-1">
</dxm:MenuItem>
<dxm:MenuItem Text="Item 1-2">
</dxm:MenuItem>
</Items>
</dxm:MenuItem>
<dxm:MenuItem Text="Item 1-3">
</dxm:MenuItem>
</Items>
</dxm:MenuItem>
<dxm:MenuItem Text="Root 2">
<Items>
<dxm:MenuItem Text="Item 2-1">
</dxm:MenuItem>
<dxm:MenuItem Text="Item 2-2">
</dxm:MenuItem>
<dxm:MenuItem Text="Item 2-3">
</dxm:MenuItem>
</Items>
</dxm:MenuItem>
</Items>
<ClientSideEvents ItemClick="function(s, e) {
e.processOnServer = e.item.GetItemCount() == 0; // Prevent generating a postback for parent menu items
}" />
</dxm:ASPxMenu>
<br />
<br />
<br />
<br />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>