There is an awful lot that can be said about this but in a nutshell:
Server Controls provide the developer with an easy and rich way of applying
server-side compiled code to the control. Normal HTML controls (without the
runat=server) can only be programmed client-side.
Server Controls render themselves as pure HTML and possibly JavaScript, so
they are browser safe, but can provide very rich functionality (validation
controls, calendar, datagrid, etc.).
Server Controls maintain their own state between page calls, HTML controls
do not.
In short, use Server Controls when you want to be able to program events for
the control on the server and/or have the control maintain its own state.
Use standard HTML controls when you don't need/want this functionality and
don't want the overhead associated with them.
Use HTML Server controls (standard HTML controls with runat=server added to
them) when you are taking an existing classic HTML/ASP application and want
to upgrade it to ASP.NET without having to create all new controls on the
page.
"Steve Bywaters" <by******@bigpond.net.au> wrote in message
news:el*************@TK2MSFTNGP11.phx.gbl...
(In my transition from ASP to ASP.NET)
*When* would I use at "runat server" tag on a button, as opposed to a
normal button?
If I set up a search area on a page, with a 'Search' button that applies
the entered items to the db - is that best as a normal button or server
control.... and why?
Steve