Web Form é un dos catro modelos que permiten realizar sitios web usando ASP.NET a través de controis de formularios grazas ao IDE de Microsoft, Visual Studio, facilitándolle moito traballo ao programador. Os outros tres modelos son: ASP.NET clásico, MVC (Modelo Vista Controlador) e ASP.NET Web Pages.
Ao igual que con calquera outra aplicación pensada para a web, ASP.NET separa parte do cliente do lado do servidor. Dispoñemos por tanto das linguaxes de HTML, CSS e JS do lado do cliente de VBScript, JS ou C# do lado do servidor.
Cliente: | HTML, CSS y JS |
Servidor: | VBScript, JS o C# |
As páxinas en Web Form teñen a extensión .aspx e a súa vez esa mesma páxina esta separada noutras dúas, que conteñen o código backend e o código que é xerado de xeito automático a través dun navegador.
- nombredearchivo.aspx.cs para a parte do código en backend
- nombredearchivo.aspx.designer.cs código automático xerado polo deseñador
Controles de servidor HTML
Son elementos HTML (HyperText Markup Language) que inclúen runat=server de atributo. Polo demais, este tipo de controles de servidor usados en ASP.NET, teñen a mesma funcionalidade que os propios de HTML. Teremos por tanto o mesmo número de controles de servidor HTML que elementos HTML existan.
Exemplo con HTML Anchor
Situámonos en index.aspx e engadimos a etiqueta HTMLAnchor, para crear unha ligazón, deste xeito a páxina quedará así:
Agora imos a index.aspx.cs (é dicir, ao backend) e modificaremos a ligazón do seguinte xeito:
Agora o botón vai a levarnos á páxina web de Google, polo tanto acabamos de crear unha ligazón e modificala de maneira dinámica.
Controles de servidor
Este tipo de controles derivan da clase base System.Web.UI.WebControls, execútanse sempre no lado do servidor servidor, enviando HTML como resultado ao navegador do cliente.
Algunhas de las características:
- Programables e reutilizables
- Poden realizar as mesmas funcións que os controles HTML
- Detectan a capacidade do navegador de destino e son executados en consecuencia.
No panel esquerdo de Visual Studio, no Cadro de Ferramentas, unha vez situados tamén no modo deseñador, poderemos ver tódalas opcións que temos para usar controles de servidor e que para traballar con elas só necesitan ser arrastradas a nosa área de traballo.
Exemplo facendo uso dun botón e dunha imaxe
Imos engadir un botón usando o cadro de ferramentas, só temos que arrastralo, para iso situámonos en index.aspx
Situándonos encima do botón, sen necesidade de facer dobre click, accederemos as súas propiedades. Mudaremos o texto do botón por: “Mostrar modelo Anycast”.
Obtendo o seguinte resultado:
Agora, seleccionaremos un control de imaxe e o arrastraremos, faremos dobre click no botón para entrar nel ou tamén podemos acceder a través da pestana index.aspx.cs, e engadimos o seguinte:
O que estamos conseguindo é modificar unha propiedade da imaxe cando facemos click no botón. Estamos establecendo unha propiedade de ImageURL, a cal non estaba establecida, para que agora saia unha imaxe.
Principais diferencias entre controles de servidor e HTML
Podemos observar que as dúas principais diferencias radican en que, os controis de servidor execútanse no lado do servidor, mentres que os de HTML son do lado do cliente. Outra das cuestións a destacar é que os controles HTML son puramente etiquetas HTML, mentres que os controles do servidor abarcan moito máis.
Aínda sendo similares entre eles, a maior diferencia radica en que os controles de servidor web facilitan a creación de aplicacións xerando a interfaz de usuario dunha forma amena e sinxela. Obtense unha simplificación importante no proceso de creación de formularios web interactivos, sin que iso supoña renunciar ás prestacións que obteríamos se fose de forma manual, escribindo o código, conseguindo a súa vez que cometamos menos erros.
Principais controles de servidor:
- Button (control de servidor Web)
- Control CheckBox de servidor Web
- Control HyperLink de servidor Web
- Control Image de servidor Web
- Control de servidor Web ImageButton
- Control label de servidor Web
- LinkButton (control de servidor Web)
- Control literal de servidor Web
- Control de servidor web panel
- PlaceHolder (control de servidor Web)
- RadioButton (control de servidor Web)
- Control Table de servidor Web
- Controles de servidor Web TableCell
- TableRow (control de servidor Web)
- Control TextBox de servidor Web
Principais controles HTML:
- Control HtmlAnchor
- Control HtmlButton
- Control HtmlForm
- Control HtmlImage
- Control HtmlInputButton
- Control HtmlInputCheckBox
- Control HtmlInputFile
- Control HtmlInputHidden
- Control HtmlInputImage
- Control HtmlInputRadioButton
- Control HtmlInputText
- Control HtmlSelect
- Control HtmlTable
- HtmlTableCell (control)
- HtmlTableCell (control)
- Control de HtmlTextArea