Infragistics' NetAdvantage for ASP.NET: AJAX-Enable Web Sites
Ken Cox reviews Infragistics suite of more than 30 controls for building AJAX-enabled ASP.NET Web applications, including grid, chart, toolbar, menu, editors, data entry, and scheduling controls.
nfragistics' NetAdvantage for ASP.NET features more than 30 controls for building AJAX-enabled ASP.NET Web applications, including grid, chart, toolbar, menu, editors, data entry, and scheduling controls.
The Web components of the NetAdvantage suite are highly similar to the Windows Forms components. This is especially apparent in the new ASP.NET-based styling tool, AppStylist. The ASP.T AppStylist resembles the version for Windows controls, but has Web-specific features such as an option to set the DocType to HTML 4.0 Transitional or XHTML 1.0 Transitional to reflect your Web application's style changes more faithfully.
Because you're creating cascading style sheet (CSS) styles, you can configure values and properties using the rich graphical interface or type CSS code directly using AppStylist's text mode. This way, you can load a sample style library, select the element (for example a button) that you want to emulate, and capture the style info as text. Or, paste your existing markup and tweak its properties to create effects such as a horizontal gradient. AppStylist is most useful to creative types who have the skill and patience to apply a polished look to all of the HTML elements on a page including tables, backgrounds, input controls, and text.
The ASP.NET user interface components in the package include grids, toolbars, menus, treeviews, tabbed containers, a spell checker, rich HTML editor, date picker, and scheduling controls. They are AJAX-enabled to increase the speed and reduce the flicker that detracts from too many Web pages.
The Microsoft Ribbon is primarily a thick client interface, but the Office sample shows how you can recreate the look of Word 2007 on a Web page using Infragistics' controls (Figure 1). This makes for great eye candy, but be aware of the fact that the sample doesn't actually do anything. It would be more impressive if it implemented a real Web-based word-processor using the included WebHtmlEditor component. Okay, that's a lot to expect from a sample.
There's a nice implementation of the WebTab as a container for a grid control. Starting with the customer list on the main tab, you can switch to the second and third tabs to edit details of the customer info and orders. This master/detail scenario shows a fine use for out-of-band calls that fetch extra data only on demand. It's also a good way to present information when you don't have a lot of screen real estate.
WebGrid, like popular ASP.NET grids, supports progressive loading of data to avoid an annoying startup delay. Infragistics' grid offers an effective option called Portioned mode where the vertical scroll bar reflects your scroll position within a large dataset even though most of the rows haven't yet been fetched. The grid allows drag-and-drop grouping and column repositioning.
ASP.NET grids increasingly bring the power of Excel to the Web environment. The NetAdvantage WebCalcManager adds Excel formulas and calculations to your pages, and WebGrid itself exports its data into a native Excel binary file. In terms of usability, WebGrid's editing behavior should be more Excel-like. After entering a value in a cell, you can't just cursor down from the edited cell and continue in edit mode in the cell immediately below. You must use the mouse to navigate to the next row which is not as convenient.
The Infragistics controls offer good design-time tools within Visual Studio. For example, the grid's Quick Design pane includes a Feature Picker in which you can switch on AJAX support, column moving, sorting, and many other grid options. The explanatory text for each feature is helpful, but its small black text on a gray background is hard to read. The Manage Presets node is useful because it provides quick and accurate previews of the styles.
There are dozens of excellent samples that illustrate the features of the controls. The examples are bundled into C# and VB projects, which make it easy to explore and use as starting points for your own projects. Note that some code examples—such as the Office 2007 design—haven't been ported to VB and are in the C# project only.
The suite's documentation is professional, readable, and extensive. I've previously complained about Infragistics' licensing issues, so I won't harp on it except to advise you to be aware of the source-code condition that "modifications, enhancements, derivative works and/or extensions and all rights associated therewith will be the exclusive property of Infragistics." This attractive, well-designed, and versatile suite is licensed per individual developer (he/she can use it on more than one machine), and the redistributable DLLs are royalty-free.
NetAdvantage for ASP.NET 2007 Volume 1
Price: $795.00 per developer
Quick Facts: Suite of more than 30 controls for building AJAX-enabled ASP.NET Web applications including grid, chart, toolbar, menu, editors, data entry, and scheduling.
Pros: Professional styling tool for graphic designers; AJAX-enabled; strong design-time support; royalty-free runtime; many useful samples; good documentation; exports to Excel.
Cons: Controversial source code license terms; grid editing could be more Excel-like; some examples in C# but not VB; control name confusion.