I’ve been a PHP developer for 10 years, trying to broaden my horizon I am doing a project in ASP.NET. What is the advantage to using an <asp:TextBox> over using a standard <input type=’text’>?
It seems advantageous to use a regular <input type=”text”> over <asp:TextBox>. First, when the page is rendered, the <asp:TextBox> becomes a standard <input type=text>. When I use a standard <input type=”text”> I can easily retrieve their value with in serverside code, via Request.Form[“Name”]. Next when I dynamiclly add inputs (via javascript) I can’t use TextBox’s I need to use <inputs type=”text”>. Finally wouldn’t it be faster to render the normal input? If I code with <asp:TextBox>, that has to be rendered where if I use <input type=”text”> it simply needs to be displayed.
In otherwords why bother with all the asp controls when standard inputs work just as well and if not better…
runat="server"inside the controlComparative Summary
Whether your using ASP.NET or Javascript, dynamically added controls gets very messy. It’s much easier to hide/show controls when needed (or use repeaters or datagrids).
I don’t think it’s fair to compare the speed of ASP.NET to HTML/Javascript applications. ASP.NET was meant to render ASP.NET controls, and using HTML controls inside an ASP.NET isn’t going to have any noticeable performance gains.
ASP.NET vs HTML/Javascript
I feel like your question essentially amounts to “Why not use a brick on a nail, rather than a hammer?” ASP.NET is a framework, and was built with ASP.NET controls in mind. It’s purpose is to allow things to be programmed faster, easier while abstracting away most things (usually trivial, repetitive ones) that would normally be done with Javascript.