It would be totally wrong to make an object out of every small thing
I think perhaps you need to read up on the differences (such that there
are) between HtmlControls and WebControls...
HtmlControls and WebControls are different objects. They support different
properties and methods. But they are objects and in order to initialize the
page all objects that on a page must be allocated, initialized and other
bunch of methods called like LoadViewState......ASP.NET framework simply do
not care (and does not know a difference) between HtmlControls and
WebControls. Those are simply add-ons. You can create your own controls as
long as they based of System.Web.UI.Contol you will be able to place it on a
page. Even though HtmlControls do not keep ViewState the LoadViewState is
still called but simply does nothing.
ASP.NET framework choose not to create gazilion of objects out of every HTML
tag on a page and allowed developer to specify only those that are needed
(using runat=server). Simply because otherwise it will waste a lot of CPU
cycles for nothing.
Same here... If you do not have to create server object then do not do it. I
would not call inability to reference an image on the page a call to create
a server control out of every image on the page.
There are plenty (CPU friendly) ways to workaroung that problem. I suggest
to utilize those methods instead.
George.