El botón representado por <asp:Button runat="server".../>
se convertirá en un control de servidor web con un modelo de estado enriquecido y diferentes propiedades y métodos que tienen una representación más clara en el mundo real como Button.Text = "Click Me".
El botón representado por <input type="button" runat="server"..../>
se convertirá al control del servidor html representado por HtmlInputButton; tiene propiedades, métodos y eventos limitados. La mayoría de las propiedades se parecen a los equivalentes html como Button.Value = "Click Me".
Tenga en cuenta que los elementos en una página de marcado se procesan previamente/compilan antes de ser utilizados y se convertirán en una representación de clase donde cada elemento se representa mediante un control. Puede acceder a los controles del lado del servidor que se identifican mediante la etiqueta runat = "server" del código subyacente, ya que tendrán el control del servidor correspondiente (web/html), otro contenido estático que incluye una etiqueta <input type="button.../>
sin el servidor runat = " "se representará como un LiteralControl".
La segunda opción funciona bien, y es también un control de servidor. Definitivamente tiene métodos. – Guffa
fuera de la base, la segunda forma no solo es valiosa, sino que es útil porque ASP – annakata
no la abstrae. La segunda opción crea una instancia de System.Web.UI.HtmlControls.HtmlInputButton que se representará como (a menos que esté dentro de un INamingContainer que lo hará munge el id). En el código subyacente puede modificar (entre otras cosas) su colección de estilos, Visibilidad; use FindControl() y adjunte controladores al evento ServerClick. IMO la principal ventaja de HtmlControls sobre WebControls es el control sobre el marcado (para el estilo y el cumplimiento). – Conceptdev