Theres no way its just more "complicated" just because MS wants it to be...
all this boils down to opinion really... you find html+vbscript "easier" than Web Controls, i think thats insane to think that at this stage of your (limited) .NET knowledge.. maybe my opinion doesn't mean jack squat.. but i have been coding ASP since 2000 and only been seriously into ASP.NET for like 4 months now, but in that short time, i ALWAYS look to do stuff in ASP.NET because there's HUGE advantages to WebControls:
.NET >> Fields are already "re-filled" upon a postback
"Classic" >> You'd have to do value="<%= Request.Form("ThisField") %>" to fill it back in on postback
.NET >> Validation controls hooked onto a Web Control.. all automatic, does client and server side checks
"Classic" >> right all your own javascript, and error handling in script
.NET >> ControlName.DataBind = some sort of collection (array, "recordset", whatever). Page doesn't have to run this but the inital page load
"Classic" >> needs to goto the DB and loop through and create things like "option" every time the page is loaded
.NET >> Disgustingly easy to disable and hide fields on a programatic basis
"Classic" >> have script kick out javascript to do all this (bleck) or tons of script if...then statements all embedded in the code
.NET >> Code Behind rocks.... pages get parsed and compiled one single time
"Classic" >> the dll has to verify that the page to execute is free of programing errors, syntax errors, etc, on every execution
Now there's one major "faster" thing i have run across in Classic over ASP.NET, and that's the trouble of going to the DB and getting a "recordset" (which technically doesn't exist anymore in ASP.NET).. BUT this is handled my making a nice little module in the application to have some static functions to go do the 10-14 lines of code it takes to Open a connection, feed it SQL, put it into a DataSet, bind it to something like a DataReader, and return the DataReader.. bam.. so in my pages, i simply have something like:
Dim ThisReader As SQLDataReader
ThisReader = GetDataReader("my SQL statement here")
if ThisReader.HasRows() then
'Do what i need
end if
bah, to me, you thinking "HTML and ASP is easier" is just totally keeping a closed mind about ASP.NET... maybe you should just stick to what you know :-)
there's so much more such as caching, xml access, user controls, stuff like image manipulation, sockets access, ack, soooooo much more available