I will be presenting at the May 17th meeting for the Cincinnati .NET Users Group meeting, and I'm looking for some ideas on what to present.

For the past 10 years, I've been working on web development. I have migrated from C++ and CGI/Perl web applications running on UNIX, through VB6/ASP to ASP.NET. I've been working with ASP.NET since Beta 1, and deployed an enterprise application into production while .NET 1.0 was in RC1 status. I also have an MCP in Developing Web Applications with VB.NET Needless to say, my presentation will be focused on web development in ASP.NET.

The topics that I'm considering are:
  1. Custom Web Controls Everywhere
    I'll discuss why and how to use custom web controls in place of nearly all of the standard ASP.NET web controls. I will demonstrate with a sample web application which ASP.NET controls should be replaced with custom controls, how to build those controls, and what value the custom controls offer.
  2. Page and User Control Base Classes
    I'll discuss why and how to use base classes for all pages and user controls included in your ASP.NET web application, and how multiple levels of inheritance can simplify large web applications. I will demonstrate with a sample web application why base classes should be used everywhere, and how business and security rules can be built-in and maintained site-wide.
  3. Catering to the Cross-Browser World
    If you're like me, and you're stuck in a cross-browser world, you've probably (hopefully) learned that the standard ASP.NET web controls aren't as cross-browser friendly as Microsoft would lead you to believe. I'll discuss some little-known caveats of cross-browser development and demonstrate how custom web controls can address these issues application-wide. I'll also discuss why virutally every web project should be developed as a cross-browser application.
  4. Architecting for the Developer vs. Architecting for the Technology
    I've found over the past several years that many software architects feel compelled to utilize cutting edge technology and concepts for nearly all facets of their applications. This mindset can often lead to programs that the typical developer could not maintain. By using the KISS (keep it simple, stupid) methodology that we were all taught in Algebra, applications can still meet the requirements for the functionality, provide a rich user interface, and at the same time, be maintained by the average developer. I will demonstrate some common practices that make many programs more difficult to maintain, without adding any real value. And I'll show how keeping it simple will not only promote maintainability, but also add flexibility.
  5. Custom User and Page State Classes
    The past several web applications I've developed have required some sort of custom user and page state. I'll demonstrate how custom classes can be developed to manage user and page state, and allow for simplified communication among the pages in your application. This demo will show how you can avoid QueryString very easily, and how ViewState values can be persisted from one page to another, with custom code wrapped around the Server.Transfer method.

Please post comments on these topics, and let me know what you'd like to hear about! If you have other ideas, please post them as well; if I am unable to speak about these topics, maybe someone else can at another meeting.

Thanks!

Jeff Handley