ExpertMenu Overview |
 |
ExpertMenu is an ASP.NET web control for building hierarchical menus
in the web applications built with Microsoft ASP.NET technology versions 1.1 and 2.
|
 |
ExpertMenu is heavily based on industry proven design patterns and principles that allow
it to achieve great flexibility and acquire features that are not available among
its competitors.
-
Every menu group in ExpertMenu contains not only menu items and menu separators, but
also other menu groups. This pattern allows building highly sophisticated, yet monolith menus with
easy keyboard navigation and programmatic support.
See Monolith Windows Start Menu,
Monolith Word Panel Menu.
-
In ExpertMenu the most widely known MVC pattern is used to separate the
menu hierarchy (Model) from its presentation (View) by introducing specialized objects -
Looks - that are responsible for presentation of menu data objects. A menu group,
item or separator doesn't contain any presentation properties except a single reference to
a specialized look object. Moreover, a look can be automatically bound to a menu object
based on criteria defined for a look. In the last case a data object is unaware of its view
until look binding occurs and it acquires a look.
|
 |
Presentation of controls and their elements in ExpertControls suite is based on a concept
of Look. There is a hierarchy of specialized Looks that are responsible for presentation
of a control and its structural elements. The main advantages of ExpertLooks© over existing
Style-like approaches are:
-
Looks are highly specialized. They contain only the necessary properties.
They are easily configurable and object oriented.
-
Any look can inherit another look by referencing the base look with Base property.
This allows you to define a hierarchy of looks where all common presentation attributes
are defined in a small number of base looks. Absence of duplication causes easy configuration
changes and small control rendering size.
-
You can declaratively define how a Look is bound to a data object (menu item, group,
separator, tree node) by defining simple bind criteria. There is no need to set any presentation
properties in the data objects because a Look contains all necessary information about how
to bind itself to the object and how to render the object.
|
 |
Only menu data objects and looks are rendered on the page by the server control. Full menu HTML code
is rendered in place on the client side. This causes small control output and good performance both
on the client and server side.
|
 |
By default, popping up menu groups overlap select elements and other windowed elements in IE.
|
 |
A menu can be configured through inline code in the containing aspx page or through an external XML file.
ExpertMenu Designer makes it easy to define a menu.
You can freely select any pre-defined Menu Skin
(Office 2003,
Windows XP,
Tab 3D,
Blue 3D and others)
and fully base your menu on it or tune a built-in skin to satisfy the specific needs.
|
 |
All menu presentation attributes can be fully defined within Looks. CSS classes are also
supported in Looks. JavaScript libraries are integrated into the assembly and automatically
processed by the custom http handler (in ASP.NET 1.1) or standard resource handler (in ASP.NET 2).
|
 |
Specialized TemplateLook allows defining an
arbitrary content within its template. Therefore, an item can contain other web controls, user
controls or plain HTML as its content.
|
 |
A menu group can be easily configured to scroll its
content in a number of ways.
|
 |
ExpertMenu supports keyboard navigation and menu
activation with access keyboard shortcut. It also supports keyboard shortcuts to fire items events.
|
 |
Menu items can be dragged and dropped within a menu.
This allows the users of your application to easily customize menus.
|
 |
A pair of ExpertMenu sub-classes allows defining
Page context menus and
Element-bound context menus.
|
 |
ExpertMenu can be configured to be floating,
keeping the same position on the page regardless of the page scroll position.
|
 |
ExpertMenu can work in the cross-frame mode
when the top group is located in one frame and all sub-menus pop up in another.
|
 |
The path to the currently selected item in a menu can be highlighted both in the menu
(
Selection based on the page URL,
Selection based on the page URL + Query parameters,
Selection based on the PostBack
)
and depicted by the specialized add-in ExpertPath control.
|
 |
Access to menu items can be restricted based on the
list of security roles that the user belongs to.
|
 |
You can control every aspect of menu creation and behavior on the server and
client side using supplied
server and client API. See installed documentation for mode details.
|
 |
ExpertMenu supports a wide variety of modern browsers. IE5+, NN6+, Mozilla 1+, FireFox, Opera 7+
and others are supported. With using CSS classes in Looks you can achieve supporting old
down-level browsers.
|
 |
ExpertMenu can be transparently data-bound to ASP.NET 2 DataSource controls, both
XmlDataSource and SiteMapDataSource. In the next release data binding will also be perfomed
on datasets.
|
 |
- Sub-menu expanding and collapsing can be animated with cross-browser or IE-specific effects
- Vertical and Horizontal menu groups
- Various group pop up directions
- Auto adjusting to window boundaries
- Check / Uncheck menu items on the
server or
client side.
|