Está en la página 1de 19

Controles de servidor HTML

Los controles de servidor HTML son elementos de Lenguaje de marcado de hipertexto


(HTML, Hypertext Markup Language) que incluyen un atributo runat=server. Los
controles de servidor HTML tienen la misma salida HTML y las mismas propiedades
que sus etiquetas HTML correspondientes. Además, los controles de servidor HTML
permiten la administración automática del estado y de los sucesos de servidor. Los
controles de servidor HTML proporcionan las ventajas siguientes:
 Se corresponden uno a uno con sus etiquetas HTML correspondientes.
 Cuando se compila la aplicación de ASP.NET, los controles de servidor HTML de
atributo runat=serverse compilan en el ensamblado.
 La mayoría de los controles incluyen un OnServerEvent para el suceso que más
se usa para el control. Por ejemplo, el control <input type=button> tiene un
evento OnServerClick.
 Las etiquetas HTML que no se implementan como controles de servidor HTML
concretos se siguen pudiendo utilizar en el servidor; sin embargo, se agregan al
ensamblado como HtmlGenericControl.
 Cuando la página ASP.NET vuelve a enviarse, los controles de servidor HTML
mantienen sus valores.
La clase base System.Web.UI.HtmlControls.HtmlControl contiene todas las propiedades
comunes. Los controles de servidor HTML derivan de esta clase.

Para utilizar un control de servidor HTML, utilice la sintaxis siguiente (usando el


control HtmlInputText como ejemplo):
<input type="text" value="hello world" runat=server />
Para obtener más información sobre los controles de servidor HTML individuales que
están disponibles en ASP.NET, remítase a los sitios Web de Microsoft siguientes:

Control HtmlAnchor Control HtmlInputCheckBox

Control HtmlButton Control HtmlInputFile

Control HtmlForm Control HtmlInputHidden

Control HtmlImage Control HtmlInputImage

Control HtmlInputButton Control HtmlInputRadioButton


Control HtmlInputText Control HtmlTableCell

Control HtmlSelect Control HtmlTableCell

Control HtmlTable Control HtmlTextArea

Control HtmlAnchor

Use el control HtmlAnchor para controlar mediante programación


un elemento <a> HTML. El elemento HTML <a> le permite crear un hipervínculo
que le permite moverse a otra ubicación en la página o a otra página
web. El control HtmlAnchor debe estar bien formado con una etiqueta de apertura
y cierre. Puede especificar el título para el control colocando texto entre las
etiquetas de apertura y cierre. Este control de servidor se usa comúnmente para
modificar dinámicamente los atributos y propiedades del elemento <a> , mostrar
hipervínculos desde una fuente de datos y controlar eventos para
generar controles HtmlAnchor dinámicamente.

Puede especificar la ubicación para mostrar la nueva página web utilizando


la propiedad Target . Los valores objetivo deben comenzar con una letra en el
rango de a a z (sin distinción entre mayúsculas y minúsculas), excepto los
siguientes valores especiales que comienzan con un guión
bajo: _blank , _self , _parent y _top .

Puede generar dinámicamente la URL a la que desea vincular


el control HtmlAnchor . Para generar la propiedad HRef dinámicamente, declare
un control HtmlAnchor en un documento HTML. Por ejemplo:

Copiar

<a id="anchor1" runat="server">

Nota    Recuerde insertar el control HtmlAnchor dentro de las etiquetas de


apertura y cierre de un control HtmlForm .

A continuación, escriba un controlador de eventos que asigne una URL a


la propiedad HRef del HtmlControl .

Aunque el control HtmlAnchor no admite directamente el enlace a una fuente de


datos, es posible generar hipervínculos a partir de los valores de un campo en una
fuente de datos. Primero vincule la fuente de datos a un control de lista, como
el Repetidor . A continuación, declare un control HtmlAnchor dentro del control
de lista. Finalmente, agregue código en línea para el valor de
la propiedad HRef que usa el método Eval de la clase DataBinder para especificar
el campo a usar.

Ejemplo

El siguiente ejemplo muestra cómo asociar dinámicamente una URL con


un control HtmlAnchor cuando se produce el evento Page_Load .

void Page_Load(object sender, EventArgs e)


{
anchor1.HRef = "http://www.microsoft.com";
}

El siguiente ejemplo muestra cómo incluir un control HtmlAnchor dentro de


un control Repeater . Los datos están vinculados al control Repeater , mientras que
un control HtmlAnchor se coloca en ItemTemplate que muestra el campo especificado
en la fuente de datos como un hipervínculo.

<%@ Page Language="C#" AutoEventWireup="True" %>


<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now;
dr[3] = (i % 2 != 0) ? true : false;
dr[4] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
MyRepeater.DataSource=new DataView(dt);
MyRepeater.DataBind();
}
</script>

<body>
<h3>Data Binding with the HtmlAnchor</h3>
<p>
<form runat=server>
<asp:Repeater id="MyRepeater" runat="server">
<ItemTemplate>
Link for
<a href='<%# DataBinder.Eval(Container,
"DataItem.StringValue",
"detailspage.aspx?id={0}") %>'
runat="server">
<%# DataBinder.Eval(Container, "DataItem.StringValue") %>
</a>
<p>
</ItemTemplate>
</asp:Repeater>
</form>
</body>

</html>

control HtmlButton

Use el control HtmlButton para programar contra el elemento HTML <button> . Puede


proporcionar un código personalizado para la ServerClick caso de la HtmlButton de
control para especificar la acción realizada cuando se hace clic en el control.

También puede personalizar la apariencia de los botones que coloca en las páginas
ASP.NET (.aspx). El elemento <button> de HTML 4.0 le permite crear botones compuestos
de elementos HTML incrustados (e incluso otros controles de formularios web).

Hay varias formas de modificar la apariencia de un control HtmlButton . Puede asignar


atributos de estilo al botón en la etiqueta de apertura del elemento de control, incluir
elementos de formato alrededor del texto que inserte entre las etiquetas de apertura y
cierre del control, o asignar cambios de valor de propiedad para
los eventos onmouseover y onmouseout del lado del cliente , para nombrar unos
pocos. También puede incluir imágenes dentro de los elementos de los botones, o incluso
incluir otros controles de formularios web.

HtmlForm Control
Use el control HtmlForm para programar contra el elemento HTML <form> . Para
aprovechar los servicios de devolución de datos , todos los controles de formularios Web
Forms, ya sean HTML, Web, pagelet o personalizados, deben estar anidados entre
etiquetas de apertura y cierre bien formadas del control HtmlForm . Si las etiquetas no se
cierran correctamente, ASP.NET no reconocerá el elemento. El elemento será ignorado o se
producirá un error de compilación, dependiendo de cómo se forma el elemento.

De forma predeterminada, el atributo de método del control HtmlForm está establecido


en POST . Puede personalizar el atributo del método para adaptarlo a sus necesidades,
pero establecer el atributo del método en un valor que no sea GET o POST puede romper
el estado de vista integrado y los servicios de devolución proporcionados por los
formularios web.

El siguiente ejemplo muestra tres controles HtmlButton con


un controlador OnServerClick separado para cada botón. Cada uno de estos eventos
provoca una publicación posterior en el servidor ( se requiere el control HtmlForm para
cualquier escenario en el que ocurra una publicación posterior). Este ejemplo también
demuestra que solo se permite un control HtmlForm en una página de formularios web,
incluido un formulario que admite múltiples eventos. Si incluye más de
un control HtmlForm , .NET Framework generará una excepción.

<%@ Page Language="C#" AutoEventWireup="True" %>


<html>
<head>
<script runat="server">
void Button1_OnClick(object Source, EventArgs e)
{
Span1.InnerHtml="You clicked Button1";
}
void Button2_OnClick(object Source, EventArgs e)
{
Span2.InnerHtml="You clicked Button2";
}
void Button3_OnClick(object Source, EventArgs e)
{
Span3.InnerHtml="You clicked Button3";
}
</script>
</head>
<body>
<h3>HtmlForm Sample</h3>
<form id="ServerForm" runat="server">
<button id=Button1 runat="server"
OnServerClick="Button1_OnClick">
Button1
</button>
&nbsp;&nbsp;
<span id=Span1 runat="server" />
<p>
<button id=Button2 runat="server"
OnServerClick="Button2_OnClick">
Button2
</button>
&nbsp;&nbsp;
<span id=Span2 runat="server" />
<p>
<button id=Button3 runat="server"
OnServerClick="Button3_OnClick">
Button3
</button>
&nbsp;&nbsp;
<span id=Span3 runat="server" />
</form>
</body>

</html>

Control de imagen HTML

Use el control HtmlImage para programar contra el elemento HTML <img> . Este control


le permite establecer y recuperar dinámicamente el origen, el ancho, la altura, el ancho del
borde, el texto alternativo y la alineación de la imagen mediante el uso de
las propiedades Src , Ancho , Altura , Borde , Alt y Alinear , respectivamente.

El siguiente ejemplo muestra cómo cambiar una imagen mostrada, según las elecciones
del usuario. Especifica el /imagesdirectorio como la ruta de origen para que se muestren
las imágenes. El valor seleccionado en el control HtmlSelect en la página de formularios
web determina qué imagen mostrar desde el /imagesdirectorio.

<%@ Page Language="C#" AutoEventWireup="True" %>


<html>
<head>
<script runat="server">
void SubmitBtn_Click(Object Sender, EventArgs e)
{
Image1.Src="/images/" + Select1.Value;
}
</script>
</head>

<body>
<h3>HtmlImage Sample</h3>
<form runat="server">
<img ID="Image1" src="/images/cereal1.gif" runat="server"/>
<p>
<p>
Select an image file to display:
<select id="Select1" runat="server">
<option Value="Cereal1.gif">Healthy Grains</option>
<option Value="Cereal2.gif">Corn Flake Cereal</option>
<option Value="Cereal3.gif">U.F.O.S</option>
<option Value="Cereal4.gif">Oatey O's</option>
<option Value="Cereal5.gif">Strike</option>
<option Value="Cereal7.gif">Fruity Pops</option>
</select>
<p>
<p>
<input type="submit" runat="server" Value="Apply"
OnServerClick="SubmitBtn_Click">
</form>
</body>

</html>

HtmlInputButton Control

Use el control HtmlInputButton para programar contra los elementos


HTML <input type = button> , <input type = submit> y <input type =
reset> . Cuando un usuario hace clic en un control HtmlInputButton , la entrada
del formulario en el que está incrustado el control se publica en el servidor y se
procesa. Luego se envía una respuesta al navegador solicitante.

Al proporcionar un controlador de eventos personalizado para


el evento ServerClick , puede realizar un conjunto específico de instrucciones
cuando se hace clic en el control.

Cuando se usa junto con los controles HtmlInputText y HtmlTextArea , puede crear


entradas de usuario o páginas de autenticación que se pueden procesar en el servidor. El
siguiente ejemplo muestra cómo usar un control HtmlInputButton para enviar un
formulario al servidor para su procesamiento.

Control HtmlInputCheckBox

Use el control HtmlInputCheckBox para programar contra el elemento HTML <input


type = checkbox> . El control HtmlInputCheckBox no vuelve a publicar en el servidor
cuando se hace clic en él. El estado de la casilla de verificación se envía al servidor para su
procesamiento cuando utiliza un control que devuelve el servidor, como
el control HtmlInputButton . Para determinar si la casilla de verificación está seleccionada,
pruebe la propiedad Comprobada del control.

El siguiente ejemplo muestra cómo crear un control HtmlInputCheckBox que permite al


usuario seleccionar un estado verdadero o falso . Cuando un usuario hace clic en el botón
de entrada incluido en la página, el controlador de eventos Button1_Click determina si
el control HtmlInputCheckBox está marcado. Luego muestra un mensaje en
un control <span> . Tenga en cuenta que, aunque el valor marcado se establece
en verdadero de forma predeterminada en este ejemplo, el usuario aún debe hacer clic en
el Botón1 para mostrar el texto.

<%@ Page Language="C#" AutoEventWireup="True" %>


<html>
<head>
<script runat="server">
void Button1_Click(object Source, EventArgs e)
{
if (Check1.Checked == true)
{
Span1.InnerHtml = "Check1 is checked!";
}
else
{
Span1.InnerHtml = "Check1 is not checked!";
}
}
</script>
</head>
<body>

<h3>HtmlInputCheckBox Sample</h3>

<form runat="server">
<input id="Check1" type=checkbox runat="server" checked/>
CheckBox1 &nbsp;&nbsp;
<span id=Span1 style="color:red" runat="server" />
<p>
<input type=button id="Button1" value="Enter"
OnServerClick="Button1_Click" runat="server"/>
</form>
</body>

</html>
HtmlInputFile Control

Use el control HtmlInputFile para programar contra el elemento HTML <input


type = file> . Puede usar el control HtmlInputFile para diseñar fácilmente una
página que permita a los usuarios cargar archivos binarios o de texto desde un
navegador a un directorio que designe en su servidor web. La carga de archivos
está habilitada en todos los navegadores web HTML 3.2 y posteriores.

Ejemplo

El siguiente ejemplo muestra un escenario simple de carga de archivos. La primera


sección de código define el controlador de eventos para la página. Cuando el
usuario hace clic en el botón Cargar en el formulario, el nombre del archivo, la
longitud del contenido y la cantidad de contenido (en bytes) se muestran en la
página, mientras el archivo se carga en el UploadedFilesdirectorio del servidor.

El código para el formulario implementa un control HtmlForm ,


un control HtmlInputFile , un control HtmlInputButton y cuatro controles
HtmlGenericControls (el elemento <div> y los tres elementos <span> , cada uno
con pares de atributos / valores runat = "server" en sus etiquetas de apertura )

<%@ Page Language="C#" AutoEventWireup="True" %>


<html>
<script runat="server">
void UploadBtn_Click(Object sender, EventArgs e)
{
// Display information about posted file
FileName.InnerHtml = MyFile.PostedFile.FileName;
MyContentType.InnerHtml = MyFile.PostedFile.ContentType;
ContentLength.InnerHtml =
MyFile.PostedFile.ContentLength.ToString();
FileDetails.Visible = true;

// Save uploaded file to server


MyFile.PostedFile.SaveAs("c:\\Uploadedfiles\\uploadfile.txt");
}
</script>
<body>
<form action="fileupload.aspx"
method="post"
enctype="multipart/form-data"
runat="server">

<h1>ASP.NET File Upload Example</h1>


Select File To Upload to Server:
<input id="MyFile"
type="file"
runat="server">
<br><br>
<input type=submit
value="Upload!"
OnServerclick="UploadBtn_Click"
runat="server">
<br><br><br>
<div id="FileDetails"
Visible=false
runat="server">
FileName: <span id="FileName" runat="server"/> <br>
ContentType: <span id="MyContentType" runat="server"/> <br>
ContentLength: <span id="ContentLength" runat="server"/>bytes
<br>
</div>
</form>
</body>

</html>

HtmlInputHidden Control

Use el control HtmlInputHidden para programar contra el elemento HTML <input type =


hidden> . Aunque este control es parte del formulario, nunca se muestra en el
formulario. Dado que el estado no persiste en HTML, este control se usa comúnmente
junto con los controles HtmlInputButton y HtmlInputText para almacenar información
entre publicaciones en el servidor.

El siguiente ejemplo muestra cómo guardar información de estado de vista en


solicitudes utilizando el control HtmlInputHidden . El control <span> muestra el
texto almacenado en el campo oculto de la solicitud web que precede
inmediatamente a la solicitud actual.

Hay dos controladores de eventos. El primer evento ocurre cuando la página se


vuelve a publicar en el servidor. El controlador de eventos toma el texto
almacenado en el campo oculto de la solicitud de publicación anterior y lo muestra
en un control <span> . El segundo evento ocurre cuando se hace clic en
el botón Enviar . El controlador de eventos toma el contenido del cuadro de texto
y lo almacena en el campo oculto de la página web.

<%@ Page Language="C#" AutoEventWireup="True" %>


<html>
<head>
<script runat="server">
void Page_Load(object Source, EventArgs e)
{
if (Page.IsPostBack)
{
Span1.InnerHtml="Hidden value: <b>" +
HiddenValue.Value + "</b>";
}
}
void SubmitBtn_Click(object Source, EventArgs e)
{
HiddenValue.Value=StringContents.Value;
}
</script>
</head>

<body>
<h3>HtmlInputHidden Sample</h3>
<form runat="server">
<input id="HiddenValue"
type=hidden value="Initial Value" runat="server">
Enter a string:
<input id="StringContents" type=text size=40 runat="server">
<p>
<input type=submit value="Enter"
OnServerClick="SubmitBtn_Click" runat="server">
<p>
<span id=Span1 runat="server">
This label will display the previously entered text.
</span>
</form>
</body>

</html>

HtmlInputImage Control

Use el control HtmlInputImage para programar contra el elemento HTML <input type =


image> . Puede usar este control junto con HtmlInputText , HtmlTextArea y otros
controles para construir formularios de entrada de usuario. Debido a que este control es el
elemento <input type = image> que se ejecuta en el servidor, ofrece la misma
personalización de botones que HTML. Este control ofrece una alternativa para los
navegadores que no admiten DHTML y el control HtmlButton .

Una de las ventajas de los controles HTML sobre los controles web es que los
eventos del lado del servidor no entran en conflicto con los eventos que ocurren en
el cliente, a menos que el servidor y el código del cliente se contradigan entre
sí. Siendo este el caso, puede usar eventos dinámicos de HTML (DHTML) para
modificar la apariencia de cualquier imagen que incluya en su página de
formularios web.

Ejemplo

El siguiente ejemplo compara un control de botón de imagen estática con un


control de botón de imagen que utiliza el evento DHTML onMouseOver (que
muestra la imagen de un plátano) y el evento onMouseOut (que muestra la
imagen original del mango). Ambos botones de imagen incluyen un controlador de
eventos OnServerClick .

<%@ Page Language="C#" AutoEventWireup="True" %>


<html>
<head>
<script runat="server">
void Button1_Click(object Source, ImageClickEventArgs e)
{
Span1.InnerHtml="You clicked button1";
}
void Button2_Click(object Source, ImageClickEventArgs e)
{
Span1.InnerHtml="You clicked button2";
}
</script>
</head>
<body>
<h3>HtmlInputImage Sample</h3>
<form runat="server">
<input type=image
id="InputImage1"
src="/images/mango.jpg"
OnServerClick="Button1_Click"
runat="server">
<p>
<input type=image
id="InputImage2"
src="/images/mango.jpg"
onmouseover="this.src='/images/banana.jpg';"
onmouseout="this.src='/images/mango.jpg';"
OnServerClick="Button2_Click"
runat="server">
&nbsp;With rollover effect (HTML 4.0)
<p>
<span id=Span1 runat="server" />
</form>
</body>
</html>

HtmlInputRadioButton Control

Use el control HtmlInputRadioButton para programar contra el elemento HTML <input


type = radio> . Puede agrupar varios controles HtmlInputRadioButton juntos
estableciendo la propiedad Name en un valor que sea común a todos los
elementos <input type = radio> dentro del grupo. Los botones de radio en el mismo
grupo son mutuamente excluyentes; solo se puede seleccionar un botón de radio en el
grupo a la vez.

El control HtmlRadioButton no se vuelve a publicar automáticamente en el servidor. Debe


confiar en el uso de uno de los controles de botón,
como HtmlInputButton , HtmlInputImage o HtmlButton , para publicar nuevamente en
el servidor. Puede programar contra el control HtmlRadioButton escribiendo un
controlador para el evento ServerChange .

El siguiente ejemplo muestra cómo crear un controlador de eventos para


el ServerChange caso de la HtmlRadioButton control. El controlador de eventos
determina qué botón de radio está seleccionado y muestra la selección en un mensaje.

<%@ Page Language="C#" AutoEventWireup="True" %>


<html>
<head>
<script runat="server">
void Server_Change(object Source, EventArgs e)
{
if (Radio1.Checked == true)
Span1.InnerHtml = "Radio1 is checked";
else if (Radio2.Checked == true)
Span1.InnerHtml = "Radio2 is checked";
else if (Radio3.Checked == true)
Span1.InnerHtml = "Radio3 is checked";
}
</script>
</head>
<body>
<form runat="server">
<h3>HtmlInputRadioButton Sample</h3>
<input type="radio"
id="Radio1"
name="Mode"
OnServerChange="Server_Change"
runat="server"/>
Option 1<br>
<input type="radio"
id="Radio2"
name="Mode"
OnServerChange="Server_Change"
runat="server"/>
Option 2<br>
<input type="radio"
id="Radio3"
name="Mode"
OnServerChange="Server_Change"
runat="server"/>
Option 3
<p>
<span id=Span1 runat="server" />
<p>
<input type=submit id="Button1"
value="Enter"
runat="server">
</form>
</body>

</html>

HtmlInputText Control

Use el control HtmlInputText para ejecutar el código del servidor en los elementos


HTML <input type = text> y <input type = password> . Al igual que con HTML
estándar, estos controles se pueden usar para ingresar nombres de usuario y contraseñas
en formularios HTML.

Puede usar este control junto con el control


HtmlInputButton , HtmlInputImage o HtmlButton para procesar la entrada del usuario
en el servidor. Puede controlar el número de caracteres que se pueden ingresar, el ancho y
el contenido del control utilizando las propiedades MaxLength , Size y Value ,
respectivamente. El siguiente ejemplo muestra cómo usar el control HtmlInputText para
obtener la entrada del usuario.

Controles de Servidor Web

Los controles web son muy similares a los controles de servidor HTML, como
Botón, Cuadro de textoy Hipervínculo, excepto que los controles web tienen un
conjunto normalizado de nombres de propiedad. Los controles de servidor Web
proporcionan las ventajas siguientes:
 Facilitan a los fabricantes y desarrolladores la creación de herramientas o
aplicaciones que generan automáticamente la interfaz de usuario.
 Simplifican el proceso de crear formularios Web interactivos, lo que requiere un
conocimiento menor sobre cómo funcionan los controles HTML y facilitan su uso
con menos errores.
La clase base System.Web.UI.WebControls.WebControl contiene todas las propiedades
comunes. La mayoría de los controles de servidor Web deriva de esta clase.

Para utilizar un control de servidor Web, utilice la sintaxis siguiente (que usa el
control Cuadro de texto como ejemplo):
<asp:textbox text="hello world" runat=server />
Los controles de servidor Web se pueden dividir en cuatro categorías:
 Controles Web básicos
 Controles de validación
 Controles de lista
 Controles variados

Controles Web básicos

Los controles Web básicos proporcionan la misma funcionalidad que los controles de
servidor HTML homólogos. Sin embargo, el control Web básico incluye métodos,
sucesos y propiedades adicionales que puede usar para programar.

Para obtener más información sobre los controles de servidor Web individuales que
están disponibles en ASP.NET, remítase a los sitios Web de Microsoft siguientes:

Control de servidor Web Label


Control de servidor Web Button
Control de servidor Web LinkButton
Control de servidor Web CheckBox

Control de servidor Web HyperLink Control de servidor Web Literal

Control de servidor Web Image Control de servidor Web Panel

Control de servidor Web ImageButton Control de servidor Web PlaceHolder


Control de servidor Web RadioButton
Control de servidor Web TableRow
Control de servidor Web Table
Control de servidor Web TextBox
Control de servidor Web TableCell

Control de servidor Web Button

Controles de validación

Los controles de validación se usan para validar los valores que se introducen en otros
controles de la página. Los controles de validación realizan la validación en el cliente, el
servidor o ambos, según las capacidades del explorador en el que se muestra la
página. Los controles de validación proporcionan las ventajas siguientes:
 Puede asociar uno o varios controles de validación a cada control que desee
validar.
 La validación se realiza cuando se envía el formulario de la página.
 Puede especificar mediante programación si debería realizarse la validación, lo
que resulta de utilidad si desea proporcionar un botón de cancelación para que el
usuario pueda salir sin tener que rellenar con datos válidos todos los campos.
 Los controles de validación detectan automáticamente si se debe realizar la
validación en el cliente o en el servidor.

Nota: la validación en el cliente detecta los errores antes de que se lleve a cabo la
operación de devolución. Por consiguiente, si tiene combinaciones de controles
de validación en el cliente y en el servidor en una única página, la validación del
servidor se adelantará si la validación en el cliente falla.
Para obtener más información sobre los controles de validación individuales que están
disponibles en ASP.NET, remítase a los sitios Web de Microsoft siguientes:
Control RequiredFieldValidator

Control RangeValidator

Control CompareValidator
Control RegularExpressionValidator

Control CustomValidator

Control ValidationSummary

Controles de lista

Los controles de lista son controles de servidor web especiales que admiten enlaces a
colecciones. Puede utilizar los controles de lista para presentar filas de datos en un
formato de plantilla personalizada. Todos los controles de lista exponen las
propiedades DataSource y DataMember que se utilizan para enlazar a colecciones.

Los controles de lista solo se pueden enlazar a colecciones que admitan las
interfaces IEnumerable, ICollection, o IListSource. Por ejemplo, una página de ejemplo
de Microsoft Visual C# .NET aparece como sigue:
<%@ Page Language="C#" %>
<script runat="server">
Public void Page_Load()
{
String[] myStringArray = new String[] {"one","two","three"};
rptr.DataSource = myStringArray;
rptr.DataBind();
}
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
una página de ejemplo de Microsoft Visual Basic .NET aparece como sigue:
<%@ Page Language="vb" %>
<script runat="server">
public sub Page_Load()
Dim myStringArray as String()
myStringArray = new String() {"one","two","three"}
rptr.DataSource = myStringArray
rptr.DataBind()
end sub
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
El resultado es el siguiente:
one

two

tres
Para obtener más información sobre los controles variados que están disponibles en
ASP.NET, remítase a los sitios Web de Microsoft siguientes:
Control de servidor Web ListBox

Control de servidor Web CheckBoxList

Control de servidor Web RadioButtonList

Repeater Web Server Control Overview

DataList Web Server Control

DataGrid Web Server Control

Control de servidor Web DropDownList

Controles variados

Además de los controles anteriores, el marco de página de ASP.NET proporciona


algunos controles de tareas específicas denominados controles enriquecidos. Los
controles variados se integran con varios elementos HTML y contienen una
funcionalidad muy diversa. Algunos ejemplos de controles variados
son Calendar y AdRotator.

Para obtener más información sobre los controles variados que están disponibles en
ASP.NET, remítase a los sitios Web de Microsoft siguientes:
Control AdRotator

Control Calendar

Control Xml
Controles de usuario

Controles de usuario A menudo, puede ser conveniente reutilizar la interfaz de usuario


de un Web Form sin tener que escribir ningún código adicional. ASP.NET le permite
hacer esto convirtiendo los Web Forms en controles de usuario. Los controles de
usuario, que tienen la extensión de archivo .ascx, se pueden utilizar varias veces dentro
de un único Web Form.

Para convertir un Web Form en un control de usuario, siga estos pasos:


1. Quite todas las etiquetas <html>, <head>, <body> y <form>.
2. Si la directiva @ Page aparece en la página, cámbiela por @ Control.
3. Incluya un atributo className en la directiva @ Control de modo que se
controle el tipo del control de usuario cuando se creen instancias del mismo.
4. Dé un nombre de archivo descriptivo al control y cambie la extensión de
archivo de .aspx a .ascx.
Para obtener más información sobre los controles de usuario, vea el tema siguiente en
la documentación del Kit de desarrollo de software (SDK) de .NET Framework:
Controles de usuario de Web Forms