I haven't received many comments on what the community would like the topic of my May presentation to be. I am leaning toward the "Custom Web Controls Everywhere" presentation.

Here's a more detailed description of the presentation. Please feel free to comment on this before the presentation.


The emphasis of the presentation would be on why developers should create inherited controls for nearly all asp.net controls. This will differ from the many articles I've read that describe creating custom controls, only if additional functionality needs to be implemented.

Some of the specific controls that I would be focusing on are:

  • DataGrid
  • TextBox
  • DropDownList
  • Checkbox
  • RadioButton
  • Button
  • LinkButton
  • Hyperlink

By implementing custom controls "everywhere", development standards are easier to enforce, as developers on the team have fewer opportunities for mistakes. This produces a more consistent user interface that can be easily modified if needed.

The presentation will describe situations where I've seen developers (including
myself) wish that a custom control had been implemented early on, because a change needs to be applied site-wide. One example of this is how multiple levels of inherited textboxes can allow for new business rules to be implemented quickly, as part of a specialized textbox server control.

I also plan on including a short discussion on how this approach will alter slightly with ASP.NET 2.0's skinning. I will point out however, that skinning is not an alternative to creating custom controls, but more of a compliment to the approach.