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
over usi
What is the advantage to using an over using a standard
<input type=’text’>
?
runat="server"
inside the controlComparative Summary
Next when I dynamiclly add inputs (via javascript) I can’t use TextBox’s I need to use
<inputs type=”text”>
.
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).
Finally wouldn’t it be faster to render the normal input? If I code with , that has to be rendered where if I use it simply needs to be displayed.
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.
You can add a runat="server"
attribute to any regular HTML tag in ASP.NET WebForms and it will be available to you in code behind as an HtmlGenericControl
. You can set the text via HtmlGenericControl.InnerText
and the HTML via HtmlGenericControl.InnerHTML
.
An advantage of using an ASP.NET TextBox is you can have it render as an <input type="text" />
or as a <textarea />
(TextBox.TextMode="multiline"
)
Please see msdn.microsoft.com/en-us/library/7512d0d0.aspx and msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.aspx
<asp:TextBox>
is a serveriside control wihich eventually gets converted to <input
as page gets rendered to html.Similar to <asp:TextBox>
you will see that there are other controls which will get converted to standard HTML elements.
<asp:TextBox>
Is a serverside control so that you can access it in codebehind using its ID hence you can even perform .visible = true or false actions in code behind .
These might help
ASP.NET Server Controls
Advantages:
Disadvantages: