|
 | What's New |
 | Overview |
 | Features |
 | Reference Book |
 | Licensing |
 | Support |
|  | Contacts |
|  | FAQs |
|  | Feature Request |
 | Populating with Data |
 | Appearance |
 | Layout |
 | Behavior |
 | Programming |
|  | Client side event |
|  | Server side event |
|
|
|
|
Version 3.5 12/06/2007
New features available in version 3.5:
- Server-side API
APNSoft Menu now provides an extremely rich and powerful server-side API allowing developer to add, remove or edit menu elements and element collections. Menu includes two new classes MenuElement and MenuElementCollection.
For a complete list of the server-side methods and properties, please review this section. This example shows new Server-side API in action.
- The href attribute can include a JavaScript call
Menu item can now include a JavaScript call in the href attribute. Also it can include special active blocks $MenuID$ and $ItemID$, instead of which data is inserted.
Example:
<item title="JavaScript" href="javascript:ItemClick('$MenuID$','$ItemID$');" />
JavaScript function:
function ItemClick(MenuID,ItemID){
alert('MenuID='+MenuID+',ItemID='+ItemID);
};
- New property ShowStartingNode
This property specifies a value indicating whether the menu renders the starting node.
- Structure checking
APNSoft Menu now checks the structure for duplicated IDs and wrong-referenced elements in the database table with menu structure.
- Fixed bugs
- Menu can now handle the "\" symbol in Web.sitemap file.
- Submenu position is corrected when the window has a horizontal scrollbar.
- Submenus are now displayed in browser with High-Level Security and enabled JavaScript.
- Tooltip position is corrected when the menu is in the DIV with relative position.
- Several minor bugs fixed.
- Lite Mode removed
The Lite Mode will not be supported anymore.
Version 3.0 05/05/2007
APNSoft Menu has been significantly improved and includes new properties and methods. Some properties and methods have been removed and will not be used anymore.
New features available in version 3.0:
- AJAX-based Load On Demand
APNSoft Menu now supports AJAX-based load on demand. The LoadOnDemand property specifies whether submenu will be loaded on demand without postback to the server. The LoadingText property specifies the text displayed in the tooltip while loading load-on-demand content.
- Data Binding
The source of data can be bound directly to the Menu. Simply set the DataSource property and call the DataBind() method. Menu supports building multiple levels of hierarchy (the ID/ParentID model) from a single table in the data source.
- Support for Skins
The SkinFolder property specifies the URL for a Skin Folder. Skin Folder includes all component skin parts (CSS styles, images, etc.).
- Path Highlighting
The HighlightPath property specifies the value indicating whether the menu highlights the selected item as well as the whole navigation path. The HighlightedPathOpacity property specifies the opacity level in percent of the Highlighted Path.
- New attribute iconOver
APNSoft Menu now supports using the separate icon for hovered item. Use the iconOver attribute in menu structure to specify the name of the icon for hovered item.
- Expand Delay can be customized
The ExpandDelay property specifies the delay in milliseconds before a submenu expands.
- Support for Web.sitemap
The "Web.sitemap" file can be used as menu structure. Use the StructureFileURL property to set the menu structure.
- Support for selected item
APNSoft Menu now saves selected item between postbacks. The GetSelectedItemID() method returns the selected Item ID. The item's attribute selected keeps the current item selected by default.
- New property ClientSideOnSelect
The ClientSideOnSelect property specifies the name of the client-side function to be called when an item is selected. The function accepts two parameters: MenuID and ItemID.
- Lite Mode
APNSoft Menu operates in "full" mode by default. If the Lite property value is true, component operates in "lite" mode and can be used for FREE!
The comparison chart shows which features are unavailable in the Lite Mode.
Properties and methods that are out-of-date and will not be used in the current and next versions:
- ClientSideProcedureName property
APNSoft Menu now uses the ClientSideOnSelect property.
- ArrowFileName and ArrowOverFileName properties
- ArrowDown.gif, ArrowDownOver.gif - arrows for horizontal menu which
opens downward.
- ArrowRight.gif, ArrowRightOver.gif - arrows for vertical menu or
submenus.
- ArrowUp.gif, ArrowUpOver.gif - arrows for horizontal menu which opens upward.
Menu now uses arrow images with predefined names. Arrow images should be placed in the Skin Folder as specified by the SkinFolder property.
- ServerSideProcedureName property
Please use the event-handling method for the OnItemClick event. This event occurs on the server side when an item is clicked.
- CSSFileURL property
The new menu version uses CSS styles which have fixed names and are located in the Skin Folder. One CSS style ("CSSStyleHorizontal.CSS") is used for menu with horizontal orientation. The second ("CSSStyleVertical.CSS") is used for menu with vertical orientation.
- ImagesFolderURL property
All images must be located in the Skin Folder. The SkinFolder property specifies the URL for a Skin Folder. Skin Folder includes all component skin parts (CSS Style, images, etc.).
- Methods Render() and Reset()
These methods have been removed due to its needlessness.
Version 2.5 09/19/2006
- Support for scrollable menus
The SubMenusHeight property specifies the maximum height for SubMenus. A SubMenu automatically becomes scrollable if its height less than the real height of its contents.
- Search Engine Optimization
The new version uses the SEOEnabled property. It indicates whether the menu renders an additional NOSCRIPT section with links let all search engines index the website properly.
- Health Checking
APNSoft Menu now uses client-side JavaScript messages which allow developers control the menu status. For example, if you use a new menu version with the old JS file, you will see a warning. This feature can be switched off by using the WarningsEnabled property.
Version 2.1 06/29/2006
- Transparency
The new version supports transparency. Now menu can appear as semi-transparent, so you can freely see behind it. The example demonstrates it.
- Small code improvements
Now menu more carefully controls system resources and gives the best performance results.
Version 2.0 12/20/2005
- Ready for ASP.NET 2.0 and Visual Studio 2005
APNSoft Menu has been tested on ASP.NET 2.0 and Visual Studio 2005.
- XHTML 1.1 compliance
The entire APNSoft Menu output is XHTML 1.1 compliant. This ensures that menu product is a standards-based software.
- New CSSSource and CSSClassesPrefix properties
CSSSource specifies the CSS Style location. Now menu can use a style in the <head> section of ASPX page. The CSSClassesPrefix used for association between menus and a set of CSS classes.
- New property ExpandDirectionV
ExpandDirectionV specifies the vertical direction to which submenus expand. It is applied to horizontal menu only. Available values are Downwards and Upwards.
- Support for Tooltips
Tooltip describes the purpose of the currently selected item and can be specified through the tooltip node attribute in the menu XML Structure.
- New Styles Library
The new version 1.2 includes 67 ready-to-use menu styles, including 8 new styles. All of them are grouped by shape and color tints. All styles are FREE for commercial and non-commercial use. You can distribute and modify them freely.
Version 1.8 09/27/2005
- Menu items can include pure HTML code
It gives additional flexibility for customization. The example demonstrates it. Square brackets ("[" and "]") are used instead of standard corner brackets ("<" and ">"). Sometimes it is required to use square brackets without transformation to corner brackets. In this case simply use the double square brackets ("[[" and "]]").
- New SubMenusOpen and SubMenusClose properties
SubMenusOpen specifies the value indicating whether the submenus of the root menu are opened by mouse click or automatically when user moves mouse pointer over the menu item. SubMenusClose specifies the value indicating whether all of the opened submenus are closed by mouse click outside the menu or automatically when the mouse goes away.
- Using the "~" (tilde) symbol
This symbol is an abbreviation for the home directory of web application. Tilde can be used in property values, XML Structure and CSS Style.
This feature is very useful because User Control with a menu can be placed on the ASPX pages which are located in different subdirectories of the web application. See more info in the FAQs section, question 17.
- New OutputHeader and OutputFooter properties
Menu now allows to customize header and footer in result DHTML code by using of the OutputHeader and OutputFooter properties.
- Additional improvements
- Additional CSS classes for Precise Customization are now included in the main CSS Style. Now Precise Customization does not require using of additional CSS definition of ASPX page where the menu is used.
- Mechanism of positioning is improved.
- A new version more carefully controls system resources and gives the best performance results.
- Fixed bugs
- Menu ID as well as IDs in the XML Structure can include the "_" symbol.
- Fixed the bug with z-index if multiple menus on one page.
- Now the OnItemClick event works properly for dynamically loaded menu.
- New example applications
Two new examples are added in the download section. The first one uses MS Access database for menu structure. The next one demonstrates how to enable/disable menu items. You are welcome to use code from the examples in your own application.
Version 1.5 02/26/2005
- MAC browsers compatibility
Now the menu is compatible with most popular MAC browsers:
Safari, Camino, Netscape, Opera, Mozilla, Firefox. See the full list of browsers in Features section
- AutoPostBack component property
AutoPostBack property specifies whether the Menu control causes a postback to the server when an item is clicked.
- AutoPostBack item attribute
The one item's attribute AutoPostBack allows to turn off the menu's AutoPostBack property only for specified menu item.
- OnItemClick server side event
Now the component includes the OnItemClick event. It occurs on the server side when a menu item is clicked.
- id item attribute
Now you can set the unique id attribute for each menu item. For example, the id can be used for receiving the one menu item that is pressed while the OnItemClick server side event is processed. If the id attribute is not specified, the component will automatically set it for each menu item (id="1", id="2", etc.)
- ItemOverCustomization property
The ItemOverCustomization property allows to make a deep customization for hovered items. It can be used when you want to create the border for the hovered Item or make it sunken or raised, or set different colors, fonts, etc.
- Example Applications
The C# and VB.NET examples that make use of the APNSoft Menu 1.5 are included in the Download Section.
The examples will help you jump-start the development of your own applications, by showing how basic tasks are performed. You are welcome to use code from the examples in your own application.
Version 1.3 11/11/2004
- The name of product
Formerly known as ASP.NET DHTML Menu, the component's name has recently changed to APNSoft Menu.
We think our products must include the Company Name. Because of this, some changes are made.
The table of differences:
| |
APNSoft Menu |
ASP.NET DHTML Menu |
| Component DLL |
APNSoftMenu.dll |
ASPNetDHTMLMenu.dll |
| Main class |
APNSoftMenu |
ASPNetDHTMLMenu |
| Code at the top of ASPX page |
<%@ Register TagPrefix="mn" Namespace="APNSoft.WebControls" Assembly="APNSoftMenu" %> |
<%@ Register TagPrefix="dm" Namespace="APNSoft.WebControls" Assembly="ASPNetDHTMLMenu" %> |
| ASPX syntax |
<mn:APNSoftMenu id="m1" runat="server" /> |
<dm:ASPNetDHTMLMenu id="dm1" runat="server" /> |
| Code Behind syntax (C#) |
using APNSoft.WebControls; APNSoftMenu myMenu = new APNSoftMenu(); |
using APNSoft.WebControls; ASPNetDHTMLMenu myMenu = new ASPNetDHTMLMenu(); |
| Distributive package |
APNSoftMenu.msi |
ASPNetDHTMLMenu.msi |
 |
 |
 |
|
- Overlap for submenus
Now you can change the horizontal and vertical overlap a submenu will have over its parent Menu Item.
To customize the overlap, please, use the OverlapH and OverlapV properties.
- The menu client-side script in external .JS file
By default, the client-side script is generated by component. The new version allows you to use external .JS file with the client-side script.
If you want to increase the performance, you should use external .JS file.
The browser will use the cached version of the .JS file, saving you about 15 kb per request. See the ClientScriptSource property for more information.
- zIndex property
You can manually set the value of z-index for the layers are generated by the menu. See the zIndex property description.
- Each menu Item, submenu, separator can be customized separately
The new attributes for the Menu Structure are available:
| Attributes |
Description |
| css_Item_MainTdd |
Attribute for the items customization. (Main menu, horizontal orientation). |
css_Item_MainTrd css_Item_MainTd |
Attributes for the items customization. (Main menu, vertical orientation). |
css_Item_SubTrd css_Item_SubTd |
Attributes for the submenu's items customization. |
css_submenu_ParentSubTab css_submenu_ParentSubTd css_submenu_SubTab |
Attributes for the submenus customization. |
| css_separator_Spr |
Attribute for the separators customization. |
 |
 |
|
See the Menu Structure section for more information.
- SSL compatibility
Now the menu works on an SSL secured site without the message:
This page contains both secure and nonsecure items.
Do you want to display the nonsecure items?
If the menu is used on an SSL secured site, you should use the SSLSecured property.
- Client-side script performance
Small correction in menu client-side script. Now the menu more carefully controls system resources and gives the best performance results.
Version 1.0 03/25/2004
|
|
|