As Peter pointed out to me on a recent project, not ALL ASP.NET controls require that they appear inside of the form control, however, most of them do.
I am not sure what you mean by "normal" coding?
Also if by viewing the underlying code you mean looking at what makes a Calendar control a Calendar control, for example, yes this is quite easy to do. I would suggest a program like Reflector: http://www.aisto.com/roeder/dotnet/
This app has a built in disassembler that will allow you to take a look at the code under the hood so to speak and also show you the Interfaces, members, properties, etc of a given assembly.
Here is what the DayRender event of the calendar control looks like:
protected virtual void OnDayRender(TableCell cell, CalendarDay day)
DayRenderEventHandler handler = (DayRenderEventHandler) base.Events[EventDayRender];
if (handler != null)
int days = day.Date.Subtract(baseDate).Days;
string selectUrl = null;
if (this.Page != null)
string argument = days.ToString(CultureInfo.InvariantCulture);
selectUrl = this.Page.ClientScript.GetPostBackClientHyperlink( this, argument, true);
handler(this, new DayRenderEventArgs(cell, day, selectUrl));
Most of the controls you will want to look at are contained in the System.Web assembly underneath the System.Web.UI.WebControls namespace.
Read this if you want to know how to get a correct reply for your question:
.: Wrox Technical Editor / Author :.
Wrox Books 24 x 7