Props to Peter Blum
Just wanted to give praise to Peter Blum and his ASP.NET server controls over at PeterBlum.com (some free, some for sale). I have used Peter's Date Package on a small personal project about a year ago, which was quite useful. Lately, however, I've been working with a client on a project who has a ton of data entry pages. (For example, one data entry “wizard” spans six Web pages, with each Web page having about 25 form fields for data entry.) In any event, a number of the pages require date entries, so I recommended that my client pick up a copy of Peter's Date Package.
He followed my advice, and we've been using the DateTextBox and MonthYearPicker controls (along with the more advanced validation for date field entries) quite a bit. In fact, I've gone back to several of this client's existing applications and replaced the old TextBox Web controls with the DateTextBox. A big improvement.
Anywho, shortly after buying Peter's Date Package, my client found Peter's Validation and More controls. These controls include a number of professional validation controls missing from ASP.NET 1.x. The true gems from this set of controls are the masked TextBox controls, like the DecimalTextBox, IntegerTextBox, and CurrencyTextBox. These use client-side JavaScript to ensure that the user can't enter offending characters, and can also utilize “spinners” (little up and down arrows) to let the user toggle through the legal values rather than having to type them in directly. I'm using these controls like there's no tomorrow, and the users are really liking the new UI, too, which improves their data entry speed, making them more productive.
I've mentioned before how verbose I tend to be, but my verbosity is nothing compared to Peter's documentation. For the Date Package there's a PDF document with nearly 200 pages of documentation (installation instructions, setup, documentation, examples, etc.). Insane. (Admittedly, I've read about four pages in total - it's pretty easy to figure out how to get the controls to do the simple stuff. There is a lot of added features, though, that I've yet to have time to explore.)
My only complaint (and this is really nit-picking) with Peter's tools is the hassle of setting up the license files. Peter requires that a license file be placed in an appropriate directory and the serial number provided (either in each page that uses the control, or once in Global.asax). My first time through took me five to ten minutes to get everything correct, and the same headache happened again when deploying from the test server to the production server. The ease of use of the controls had me spoiled where having to tinker around with a license file seemed less than ideal. This, of course, is the pea in the princess's bed - these controls really are worth checking out, especially if you have to create a number of data entry forms. Not only will it save your end users much time, but it will save you gads of time as well, and provide a better-looking, easier-to-work-with user interface.