Pregunta

¿Cuál es la diferencia en la funcionalidad entre

<asp:Button id="button1" Text="Click me" runat="server" OnClick="submitEvent" />

y

<input type="button" id="button1" runat="server" value="Click me" />

¿La entrada con runat="server" atributo tiene otros o limitado a los métodos y propiedades?

Gracias!

¿Fue útil?

Solución

El primero crea un System.Web.UI.WebControls.Button mientras que el segundo crea una System.Web.UI.HtmlControls.HtmlInputButton.

Ambos son los controles de servidor, pero los controles del espacio de nombres WebControls tiene generalmente un poco más funcionalidad que los controles del espacio de nombres HtmlControls. Típicamente poner algunos datos en ViewState para realizar un seguimiento de su estado, y tienen los eventos de devolución lado del servidor.

Cada controles del espacio de nombres HtmlControls corresponden exactamente a un elemento HTML, mientras que los controles del espacio de nombres WebControls pueden ser prestados de manera diferente dependiendo de lo que el navegador que está solicitando a la página puede soportar.

Otros consejos

El botón representado por <asp:Button runat="server".../> serán convertidos en un control de servidor web con un rico modelo de estado y los distintos métodos y propiedades que tiene más clara representación en el mundo real como el Botón.Texto = "Click Me".

El botón representado por <input type="button" runat="server"..../> serán convertidos en control de servidor html representado por HtmlInputButton;con ha limitado propiedades, métodos y eventos.La mayoría de las propiedades se asemejan a las de html equivalentes al igual que el Botón.Valor="Click Me".

Tenga en cuenta que los elementos de marcado de la página son pre-procesados/compilado antes de ser utilizado y convertido a una clase de representación en la que cada elemento está representado por un control.Usted puede tener acceso a servidor de lado los controles que son identificados por el runat="server" de la etiqueta del código de detrás ya que tendrá la correcta coincidencia de control de servidor(web/html), otros de contenido estático, incluyendo una <input type="button.../> etiqueta con el runat="server" será representada como una LiteralControl.

La antigua línea es ASP.NET, este último XHTML simple.

El ex consigue analiza y se interpreta en el lado del servidor, después de lo cual se genera el código HTML, que prácticamente coincide con el del segundo ejemplo. El botón de ASP.NET es muy poco más que la envoltura luz sobre la funcionalidad del botón de entrada º HTML, y debe utilizarse siempre que se necesite para controlar el evento Click en el lado del servidor (o en el caso general cualquier evento), y es por lo general la forma para ir, ya que estás dejando que ASP.NET la idea abstracta de un botón en su página para usted.

funcionalidad tanto de los controles es la misma con la diferencia de que primero es el control de NET y segundo uno es control HTML que se puede hacer mediante el uso de ServerControl

runat = "server".

y primero uno es rico en evants y metods THN el segundo ....

No hay eventos del servidor asociado con un control de este tipo, pero se puede utilizar en el código subyacente para cambiar sus propiedades.

La segunda opción probablemente no incluso trabajar. runat = "servidor" se representará directamente a la salida HTML donde tendrá ninguna funcionalidad y sólo se romperá la validación de HTML.

entrada es un elemento HTML que tiene sólo propiedades HTML, y, definitivamente, no hay métodos de ningún tipo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top