The ASP.NET PowerPack is designed to:
Provide excellent functionality in current browsers.
HTML provides some very basic form-editing capabilities (buttons, text input, radio buttons, dropdown lists,
multi-select lists) but nowhere near the features available in a modern GUI. If the user has a lot of text
to enter, there really is no HTML alternative to the horrible TEXTAREA - you can put a fancy ASP.NET TextBox
control on your page, but if it's multi-line all you get on your page is a TEXTAREA.
That's just not good enough!
So the PowerPack provides some new controls. You can put a RichTextBox box on your page and
capture rich text, not just plain text. Think of a WYSIWYG word-processor versus Notepad.exe! In addition
you can have XP-like CollapsiblePanels, a
DatePicker and a real,
honest-to-goodness ComboBox box.
Work as well as possible in older browsers.
Not everyone uses a browser that supports DHTML. That makes hand-crafting a web form a real pain, with
so many different requirements and browser checks. If you do use someone else's ASP.NET controls, it
can be hard finding out exactly what the control will do in old browsers. Will it still render that
IE-specific code? Will it degrade to a base alternative? Will it just not render at all? We've all
seen controls do just those things...
ASP.NET PowerPack controls are different.
Yeah the ComboBox is a great control, but to look and act like a ComboBox it really needs Dynamic HTML. If
the browser isn't IE or Mozilla, the DHTML just won't work. (Actually, the controls use different DHTML
for each browser, but that's another story.) So if a browser is used that the ComboBox doesn't know about,
it downgrades to a collection of HTML controls which will achieve the same functionality. It certainly
won't look as good, but the crucial fact is that your forms will still work without you having to change
any code.
It's the same story with all our controls, not just the ComboBox, RichTextBox,
DatePicker and CollapsiblePanel.
They will not break your form in an older browser. In addition, each control has a set of 'browser
notes' in the helpfile, explaining what's required and what will happen in different browsers.
Ease development of interactive web forms.
The main idea behind the controls is to take some required functionality and make it available as a control.
No-one who knows Javascript would have the slightest difficulty putting the functionality of the
PrintButton
on their page. But with that functionality encapsulated in the PrintButton control, you don't have to
know Javascript and you don't have to embed that functionality into the page - just put the control
on the page the way you would any other ASP.NET button control, and you have that functionality automatically.
Provide a much better user experience.
This is a nebulous concept that can be hard to describe, so here are some concrete examples.
-
If the user is about to initiate some drastic action through your web form (submit expenses over $100,
initiate a Global Thermo-Nuclear War, whatever) it's a good idea to give them the opportunity to back
out of it. Use the
PopupButton
to bring up an OK/Cancel button asking for confirmation.
-
Don't show the user something they can't use - don't show login information if they're logged in, don't show them
a login box if they are logged in, don't show them secured information if they're not in the right secured role.
-
If the user selects a radio button option that makes half your form irrelevant, use
ShowOnConditionClientSide
to hide it. It's still there as part of your Form object (so your backend code doesn't need modified)
but it's not getting in the way of the user trying to fill out the details. And it's automatically
available again if the user backs out by selecting a different radio button.
Improve the whole web site, not just the applications.
Forms and applications are just part of the solution. Here are some examples of how the
ASP.NET PowerPack
can improve your site:
-
Don't link to the current page! This is one really simple thing that so many sites get wrong. It's
bad to have a link that goes to the exact same page that contains the link. It messes with
users' heads, and they get lost and go to other sites in disgust. Instead, use a
HyperLink
which automatically won't link to the current page (it still shows the styled text, just not as a
link). This is especially useful in menus and navigation bars (like the navigation bar on the left
of this page - see how the "Features" text isn't linked?) This gives the user a visual cue as to
where they are on the site, and improves the overall site usability all without you having to
write a line of code! Just change your "<asp:HyperLink>"s to our 100%-compatible
"<opgeek:HyperLink>"s.
-
Separate out information you want to highlight in a
Note.
This allows you to have a 'sidebar' alongside your text just the way magazines do, and without the
need for you to code it by hand.
-
Make additional information available quickly by putting it in a
CollapsiblePanel.
The information then takes up very little screen real-estate, but it doesn't require a lengthy
postback + back-button for the user to find out what it says and continue on from where they were.
|