Sei sulla pagina 1di 30

Controles estndar del Cuadro de herramientas

En los temas de esta seccin se describe cmo trabajar con los controles de servidor web ASP.NET que aparecen en la pestaa Estndar del Cuadro de herramientas de Visual Web Developer. Entre ellos se incluyen controles que permiten mostrar botones, listas, imgenes, cuadros, hipervnculos, etiquetas o tablas, as como controles ms complejos que trabajan con datos estticos y dinmicos, o controles que actan como contenedores de otros controles. Los controles de servidor web ASP.NET son objetos de pginas web ASP.NET que se ejecutan cuando se solicita la pgina y que representan marcado en el explorador. Muchos controles de servidor web son similares a los conocidos elementos HTML, como botones y cuadros de texto. Otros controles abarcan comportamiento complejo, como los controles de un calendario, y controles que puede usar para conectar a orgenes de datos y datos de visualizacin.

Label
El control de servidor web Label permite establecer texto en una pgina web ASP.NET mediante programacin. Normalmente, se utiliza el control Label cuando se desea cambiar el texto de una pgina en tiempo de ejecucin, por ejemplo en respuesta a un clic en un botn. Puede establecer el texto del control Label en tiempo de diseo o en tiempo de ejecucin en un programa. Tambin puede enlazar la propiedad Text del control Label a un origen de datos para mostrar la informacin de la base de datos en una pgina. En el ejemplo siguiente se muestra el uso de un control Label como leyenda de un control TextBox. Cuando la pgina se represente, los usuarios podrn presionar ALT+N para navegar hasta el cuadro de texto. La letra N en Label est subrayada.

<asp:Label AccessKey="N" AssociatedControlID="TextBox1" ID="Label1" runat="server" Text="<u>N</u>ame:"> </asp:Label> &nbsp; <asp:TextBox ID="TextBox1" runat="server" />

Literal
Puede utilizar un control Literal de servidor web como un contenedor para otros contenidos de la pgina. El control Literal representa una de las diferentes opciones que existen para agregar contenido a una pgina. Si se trata de contenido esttico, puede agregar el marcado directamente a una pgina como HTML, sin utilizar un contenedor. Sin embargo, si desea agregar el contenido dinmicamente, debe agregar el contenido a un contenedor. Los contenedores tpicos son el control Label, el control Literal, el control Panel y el control PlaceHolder. El control Literal se diferencia del control Label en que el control Literal no agrega ningn elemento HTML al texto. (El control Label representa un elemento span.) En consecuencia, el control Literal no admite ningn atributo de estilo, incluidos los atributos de posicin. Sin embargo, el control Literal permite especificar si el contenido est codificado. Los controles Panel y PlaceHolder se representan como elementos div, que crean bloques discretos en la pgina, en lugar de representarse en lnea como los controles Label y Literal. En general, utilice un control Literal cuando desee representar texto y controles directamente en una pgina sin ningn marcado adicional. En el siguiente ejemplo se muestra una pgina Web sencilla que muestra un titular en tiempo de ejecucin. El cuerpo de la pgina, incluido el control Literal, podra parecerse a ste:

<body> <form runat="server"> <h1><asp:Literal id="Headline" runat=server mode="PassThrough"/></h1> </form> </body>

En el ejemplo siguiente se muestra cmo se establece el texto y el cdigo del control Literal mediante programacin. La pgina contiene botones de radio que permiten al usuario elegir entre texto codificado y texto paso a travs.

<%@ Page Language="C#" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { Literal1.Text = "This <b>text</b> is inserted dynamically."; if (radioEncode.Checked == true) { Literal1.Mode = LiteralMode.Encode; } if(radioPassthrough.Checked == true) { Literal1.Mode = LiteralMode.PassThrough; } } </script>

</script> <html> <head runat="server"></head> <body> <form id="form1" runat="server"> <div> <br /> <asp:RadioButton ID="radioEncode" runat="server" GroupName="LiteralMode" Checked="True" Text="Encode" AutoPostBack="True" /> <br /> <asp:RadioButton ID="radioPassthrough" runat="server" GroupName="LiteralMode" Text="PassThrough" AutoPostBack="True" /> <br /> <br /> <asp:Literal ID="Literal1" runat="server"></asp:Literal>&nbsp;</div> </form> </body> </html>

TextBox
El control de servidor web TextBox proporciona a los usuarios un medio para escribir datos en una pgina Web ASP.NET, incluidos texto, nmeros y fechas. El control de servidor TextBox es un control de entrada que permite al usuario escribir texto. De forma predeterminada, la propiedad TextMode del control se establece en TextBoxMode.SingleLine, que muestra un cuadro de texto de una sola lnea. Sin embargo, puede establecer la propiedad TextMode en TextBoxMode.MultiLine para mostrar un cuadro de texto de varias lneas (que se representa como un elemento textarea ). Tambin puede cambiar la propiedad TextMode a TextBoxMode.Password para mostrar un cuadro de texto que enmascara los datos proporcionados por el usuario. El texto mostrado en el control TextBox est disponible mediante el uso de la propiedad Text. El control TextBox desencadena un evento TextChanged cuando el usuario abandona el control. De forma predeterminada, el evento no se produce inmediatamente, sino que se produce en el servidor cuando se enva la pgina. Sin embargo, es posible especificar que el control TextBox enve la pgina al servidor tan pronto como el usuario abandone el campo. El control TextBox de servidor web no desencadena un evento cada vez que el usuario presiona una tecla; slo lo hace cuando el usuario abandona el control. Puede hacer que los eventos del cliente desencadenados por el control TextBox se controlen desde un script de cliente, lo que puede resultar ser til para responder a las pulsaciones de las distintas teclas. En el ejemplo siguiente se muestra cmo se puede responder a los cambios en un control TextBox . El cdigo muestra el contenido del control en una etiqueta.

protected void TextBox1_TextChanged(object sender, EventArgs e) { Label1.Text = Server.HtmlEncode(TextBox1.Text); }

Button, LinkButton, ImageButton, ImageMap


Utilice los controles de servidor web de botn de ASP.NET para permitir a los usuarios exponer una pgina en el servidor. Los controles de botn desencadenan un evento en el cdigo del servidor que puede controlar para responder al postback. Por ejemplo, un usuario puede indicar que ha completado un formulario o que desea ejecutar un comando concreto. El control Button tambin puede generar un evento en script de cliente que puede administrar antes de que se exponga la pgina o que se puede ejecutar y, a continuacin, cancelar el envo de la pgina. En el ejemplo de cdigo siguiente se muestra una pgina web ASP.NET que incluye un script de cliente que cambia el color del texto de un botn cuando el usuario pasa el puntero por encima de l.

<%@ Page Language="C#" %> <html> <head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> var previousColor; function MakeRed() { previousColor = window.event.srcElement.style.color; window.event.srcElement.style.color = "#FF0000"; } function RestoreColor() { window.event.srcElement.style.color = previousColor; } </script> </head> <body> <form id="form1" runat="server"> <asp:button id="Button1" runat="server" text="Button1" onmouseover="MakeRed();" onmouseout="RestoreColor();" /> </form> </body> </html>

HyperLink
El control de servidor web HyperLink crea vnculos en una pgina web que permite a los usuarios pasar de una pgina a otra en una aplicacin. La principal ventaja de utilizar un control HyperLink es que es posible establecer las propiedades de los vnculos en el cdigo del servidor. Por ejemplo, puede cambiar dinmicamente el texto o la pgina de destino del vnculo segn las condiciones de la pgina. Otra ventaja de utilizar el control HyperLink es que se puede utilizar el enlace de datos para especificar la direccin URL de destino del vnculo (y los parmetros que se transferirn con el vnculo, si es necesario).Un ejemplo tpico es crear controles HyperLink basndose en una lista de productos. La direccin URL de destino seala a una pgina donde el usuario puede leer ms detalles sobre el producto. En el ejemplo siguiente se muestra cmo se pueden establecer las propiedades de un control HyperLink en tiempo de ejecucin.El mtodo controla el evento Click de un control Button y establece el texto del vnculo y la pgina de destino del control.

protected void Button1_Click (object sender, System.EventArgs e) { this.HyperLink1.Text = "Home"; this.HyperLink1.NavigateUrl = "http://www.microsoft.com/net/"; }

DropDownList
El control de servidor web DropDownList permite a los usuarios seleccionar un nico elemento en un cuadro de lista desplegable predefinido. El control DropDownList de servidor web permite a los usuarios seleccionar uno o varios elementos de una lista predefinida. Se diferencia del control ListBox de servidor Web en que la lista de elementos permanece oculta hasta que los usuarios hacen clic en el botn desplegable. Adems, el control DropDownList no admite el modo de seleccin mltiple. Para trabajar mediante programacin con elementos de lista, utilice la coleccin Items del control DropDownList. La coleccin Items es una coleccin estndar, por lo que es posible agregar objetos de elementos, eliminar elementos, borrar la coleccin, etc. El elemento que se encuentra seleccionado est disponible en la propiedad SelectedItem del control DropDownList. El control DropDownList provoca el evento SelectedIndexChanged cuando los usuarios seleccionan un elemento. De forma predeterminada, este evento no expone la pgina en el servidor. Sin embargo, puede hacer que el control fuerce un envo inmediato estableciendo la propiedad AutoPostBack en true. En el ejemplo siguiente se muestra cmo se puede comprobar qu elemento est seleccionado en un control RadioButtonList. El cdigo determina primero si existe una seleccin, para lo cual lee el valor de la propiedad SelectedIndex, que ser -1 hasta que el usuario seleccione un elemento. A continuacin, obtiene el objeto SelectedItem y muestra la propiedad Text de este objeto.

protected void Button1_Click (object sender, System.EventArgs e) { // Is anything selected? The index is -1 if nothing is selected. if (RadioButtonList1.SelectedIndex > -1) { Label1.Text="You chose: " + RadioButtonList1.SelectedItem.Text; } }

ListBox
El control de servidor Web ListBox permite a los usuarios seleccionar uno o varios elementos de una lista predefinida. Use el control de servidor web ListBox cuando desee mostrar varios elementos a la vez y permitir a los usuarios seleccionar uno o ms elementos en una lista predefinida. El control ListBox se diferencia de un control DropDownList en que puede mostrar varios elementos a la vez y, de manera opcional, permite al usuario seleccionar varios elementos. Para trabajar con elementos mediante programacin, utilice la coleccin Items del control ListBox. La coleccin Items es una coleccin estndar, por lo que es posible agregar objetos de elementos, eliminar elementos, borrar la coleccin, etc. El elemento que se encuentra seleccionado est disponible en la propiedad SelectedItem del control ListBox. Si el control est establecido en modo de seleccin nica, esta propiedad devuelve el elemento seleccionado. Si el control est establecido en modo de seleccin mltiple, obtiene los elementos seleccionados recorriendo toda la coleccin Items y examinando la propiedad Selected de cada elemento. En el ejemplo siguiente se muestra cmo se agregan objetos ListItem a un control ListBox; este procedimiento es idntico para todos los controles de lista de servidor web.

protected void Button1_Click (object sender, System.EventArgs e) { ListBox1.Items.Add(new ListItem("Carbon", "C")); ListBox1.Items.Add(new ListItem("Oxygen", "O")); }

CheckBox y CheckBoxList
Los controles CheckBox y CheckBoxList proporcionan una manera para que los usuarios especifiquen opciones de tipo s/no (verdadero/falso). Puede emplear dos tipos de controles de servidor web para agregar casillas a una pgina web de ASP.NET: controles CheckBox individuales o un control CheckBoxList. Ambos controles proporcionan una manera para que los usuarios especifiquen opciones de tipo s/no (verdadero/falso). Puede agregar controles CheckBox individuales a una pgina y usarlos por separado .Como alternativa, puede usar el control CheckBoxList, que es un control nico que acta como control primario de una coleccin de elementos de lista de casillas. Este control deriva de la clase base ListControl y, por tanto, funciona como los controles de servidor web ListBox, DropDownList, RadioButtonList y BulletedList. Muchos de los procedimientos que se usan al trabajar con el control CheckBoxList son los mismos que se emplean con otros controles de lista de servidor. Ambos tipos de controles ofrecen una serie de ventajas. Al utilizar controles CheckBox individuales, tendr mayor control sobre la distribucin de las casillas en la pgina que si utiliza el control CheckBoxList. Por ejemplo, puede incluir texto no perteneciente a las casillas entre las casillas. Tambin puede controlar la fuente y el color de cada casilla. Es preferible usar el control CheckBoxList si se desea crear una serie de casillas a partir de datos de un origen de datos. (Puede enlazar un control CheckBox individual a datos.)

RadioButton y RadioButtonList
Los controles RadioButton y RadioButtonList permiten a los usuarios seleccionar opciones de entre un pequeo conjunto de opciones predefinidas mutuamente excluyentes. Puede utilizar dos tipos de controles de servidor web para agregar botones de radio a una pgina Web ASP.NET: controles RadioButton individuales o un control RadioButtonList. Ambos controles permiten a los usuarios seleccionar opciones de entre un pequeo conjunto de opciones predefinidas mutuamente excluyentes. Los controles permiten definir cualquier nmero de botones de radio con etiquetas y organizarlos de forma horizontal o vertical. Puede agregar controles RadioButton individuales a una pgina y usarlos por separado. Normalmente, agrupar dos o ms botones individuales. Como alternativa, puede usar el control RadioButtonList, que es un control nico que acta como control primario de una coleccin de elementos de lista de botones de radio.Se deriva de la clase ListControl base.Por lo tanto, funciona como los controles de servidor web ListBox, DropDownList, BulletedList y CheckBoxList. Muchos de los procedimientos que se usan al trabajar con el control RadioButtonList son los mismos que se usan con otros controles de lista de servidor web. Ambos tipos de controles ofrecen una serie de ventajas. Si usa controles RadioButton individuales, tendr un mayor control sobre el diseo del grupo de botones de radio que si usa el control RadioButtonList.Por ejemplo, puede incluir texto que no pertenezca a botones de radio entre los botones de radio. Es preferible que use el control RadioButtonList si desea crear un grupo de botones de radio basado en datos de un origen de datos. Tambin resulta algo ms fcil escribir cdigo que determine qu botn se ha seleccionado. Si desea presentar a los usuarios una lista ms larga de opciones o una lista cuya longitud pueda variar en tiempo de ejecucin, utilice un control de servidor web ListBox o DropDownList. Los botones de radio rara vez se utilizan solos. Se suelen agrupar para proporcionar un conjunto de opciones mutuamente excluyentes. Dentro de un grupo de botones de radio, slo es posible seleccionar los botones de uno en uno. Para crear botones de radio agrupados, puede seguir uno de los siguientes procedimientos:

Agregue controles RadioButton de servidor web a una pgina y, a continuacin, agrguelos todos a un grupo manualmente. El nombre de grupo es arbitrario; todos los botones de radio que tienen el mismo nombre de grupo se consideran parte de un solo grupo. Agregue un control RadioButtonList de servidor Web a la pgina. Los elementos de lista del control se agrupan automticamente.

Image
El control de servidor web Image permite mostrar imgenes en pginas web ASP.NET y administrar estas imgenes en su propio cdigo. Puede especificar mediante programacin el archivo de grficos para un control Image en tiempo de diseo o en tiempo de ejecucin. Tambin puede enlazar la propiedad ImageUrl del control a un origen de datos para mostrar grficos procedentes de la informacin de una base de datos. A diferencia de la mayora de los dems controles de servidor web, el control Image no admite ningn evento. Por ejemplo, el control Image no responde a los clics del mouse. En su lugar, puede crear una imagen interactiva utilizando los controles ImageMap o ImageButton de servidor web. Adems de mostrar grficos, el control Image permite especificar varios tipos de texto para la imagen, como los siguientes:

ToolTip El texto que se muestra en la informacin sobre herramientas de algunos exploradores. AlternateText El texto que aparece si no se encuentra el archivo de grficos.Si no se especifica ninguna propiedad ToolTip, algunos exploradores utilizarn el valor AlternateText como una informacin sobre herramientas.

Si la propiedad GenerateEmptyAlternateText se establece en true, el atributo alt del elemento de imagen representado se establecer en una cadena vaca.

Table, TableRow y TableCell


El control de servidor web Table permite crear tablas en pginas ASP.NET que puede programar en el cdigo del servidor.Los controles de servidor web TableRow y TableCell proporcionan un medio para mostrar el contenido del control Table. Normalmente, las tablas no slo se utilizan para presentar informacin tabular, sino como un medio para dar formato a la informacin de una pgina Web. Hay diferentes maneras de crear tablas en pginas ASP.NET:

Tabla HTML. Si est creando una tabla esttica (una tabla en la que no agregar contenido ni lo cambiar en tiempo de ejecucin), debe utilizar una tabla HTML y no un control Table. HtmlTable. ste es un elemento HTML table que se ha convertido en un control de servidor HTML agregando el atributo runat=server.Puede programar este control en el cdigo del servidor.Para obtener informacin detallada sobre los controles de servidor HTML, vea Informacin general sobre los controles de servidor web ASP.NET. Table. En un control web que permite crear y manipular tablas (por ejemplo, agregando filas y celdas de tabla) mediante un modelo de objetos coherente con otros controles web.

En general, los controles Table de servidor Web se utilizan cuando se desea agregar filas y celdas (columnas) a la tabla en el cdigo en tiempo de ejecucin.Aunque este control puede usarse como una tabla esttica, con filas y columnas predefinidas, en ese caso es ms sencillo trabajar con el elemento table. El control Table de servidor Web puede ser ms fcil de programar que el control HtmlTable, porque ofrece un modelo de objetos con propiedades con tipo que resulta coherente con otros controles de servidor Web.(El modelo tambin es coherente entre los controles Table, TableRow y TableCell.) Algunas de las funciones que se podran realizar con un control Table de servidor Web tambin se pueden llevar a cabo con los controles de lista de servidor Web, en particular, con los controles Repeater, DataList y GridView.Todos estos controles se representan (o tienen la opcin de representarse) como tablas HTML. stas son las diferencias que existen entre los controles de lista y el control Table:

Los controles de lista estn enlazados a datos. Los controles de lista slo funcionan con un origen de datos, mientras que el control Table puede mostrar cualquier combinacin de texto HTML y controles, estn o no enlazados a datos. Los controles de lista utilizan plantillas para especificar el diseo de sus elementos. El control Table admite el control secundario TableCell, que puede llenarse igual que cualquier elemento HTML td.

En el ejemplo siguiente se muestra cmo se puede agregar filas y celdas a un control Table.El nmero de filas y columnas est determinado por lo que escribe el usuario en dos cuadros de texto.Cada celda muestra el nmero de fila y el nmero de celda como texto esttico.

protected void Button1_Click (object sender, System.EventArgs e) { // Total number of rows. int rowCnt; // Current row count. int rowCtr; // Total number of cells per row (columns).

int cellCtr; // Current cell counter int cellCnt; rowCnt = int.Parse(TextBox1.Text); cellCnt = int.Parse(TextBox2.Text); for(rowCtr=1; rowCtr <= rowCnt; rowCtr++) { // Create new row and add it to the table. TableRow tRow = new TableRow(); Table1.Rows.Add(tRow); for (cellCtr = 1; cellCtr <= cellCnt; cellCtr++) { // Create a new cell and add it to the row. TableCell tCell = new TableCell(); tCell.Text = "Row " + rowCtr + ", Cell " + cellCtr; tRow.Cells.Add(tCell); } } }

Calendar
El control de servidor web Calendar se puede usar para mostrar las fechas seleccionables en un calendario y mostrar datos asociados a determinadas fechas. Puede utilizar el control Calendar de servidor Web para hacer lo siguiente:

Mostrar y seleccionar fechas El control muestra un calendario a travs del cual los usuarios pueden ir a cualquier da de cualquier ao.Al definir la propiedad SelectedDate, la fecha especificada se resalta en el control.Opcionalmente, los usuarios pueden hacer clic en un da o moverse de mes en mes para ir a fechas arbitrarias.Se puede configurar el calendario para permitir que los usuarios seleccionen varias fechas, ya sea una semana entera o un mes entero. Una representacin del control Calendar que muestra el mes de octubre

El control Calendar puede mostrar detalles especficos para cada da como una lista de tareas pendientes, un programa de eventos u otra informacin similar. Esta caracterstica permite mostrar informacin del da procedente de una base de datos. El control Calendar se basa en el objeto DateTime y, por tanto, admite todo el intervalo de fechas que permite ese objeto. Puede disponer, de hecho, de cualquier fecha comprendida entre los aos 0 y 9999 d.C. En una pgina ASP.NET, el control Calendar se presenta como una tabla HTML. Por tanto, algunas propiedades del control corresponden a varios aspectos del formato de la tabla. Algunas de estas propiedades no se admite totalmente en algunos exploradores ms antiguos. Por tanto, no todas las caractersticas de formato estarn disponibles en esos exploradores.

Habilitar la seleccin de fechas


De forma predeterminada, el calendario permite a los usuarios hacer clic en una fecha individual para seleccionarla. Si est utilizando el control como calendario de slo lectura, puede deshabilitar la funcionalidad de seleccin de fechas.

Si se habilita la seleccin de fechas, cada da del calendario contiene un control LinkButton que generar un evento al hacer clic en l.Si habilita la seleccin de semanas o meses, se agregar una columna de vnculos en la parte lateral del calendario para permitir que el usuario especifique qu semana se va a seleccionar. El control Calendar genera el evento SelectionChanged cuando el usuario selecciona una fecha individual o un intervalo de fechas.Genera el evento VisibleMonthChanged cuando el usuario muestra un nuevo mes. Creando mtodos para estos eventos, puede determinar qu fecha o fechas seleccion el usuario y responder de forma adecuada. Una respuesta puede consistir en personalizar la presentacin de esa fecha. El ejemplo siguiente establece la seleccin en todos los mircoles del mes de febrero de 2000.

public void Button1_Click (object sender, System.EventArgs e) { SelectedDatesCollection theDates = Calendar1.SelectedDates; theDates.Clear(); theDates.Add(new DateTime(2000,2,2)); theDates.Add(new DateTime(2000,2,9)); theDates.Add(new DateTime(2000,2,16)); theDates.Add(new DateTime(2000,2,23)); }

AdRotator
El control de servidor web AdRotator se puede usar para mostrar grficos que estn vinculados a otras pginas. La lista de grficos que se van a mostrar y los vnculos de destino asociados se mantienen en un origen de datos como un archivo XML o una base de datos. El control de servidor web AdRotator proporciona una manera de mostrar anuncios en las pginas web ASP.NET.El control muestra un archivo .gif u otra imagen grfica que se proporcione. Cuando los usuarios hacen clic en el anuncio, se les redirige a la direccin URL de destino que se ha especificado. El control lee automticamente la informacin del anuncio, como el nombre del archivo de grficos y la direccin URL de destino, en una lista de anuncios que se proporciona a travs de un origen de datos, que normalmente es un archivo XML o una tabla de base de datos. El control AdRotator selecciona los anuncios aleatoriamente, y cambia el anuncio mostrado cada vez que se actualiza la pgina. Puede ponderar la relevancia de los diferentes anuncios para controlar el nivel de prioridad de los titulares, lo que permite hacer que unos anuncios se muestren con ms frecuencia que otros. Tambin puede escribir una lgica propia que recorra los anuncios en ciclo. El control de servidor web AdRotator se puede usar para mostrar grficos de anuncio como un archivo .gif o una imagen similar. Entonces, se puede redirigir al usuario a una direccin URL de destino. El grfico y la direccin URL de destino se pueden proporcionar desde un origen de datos como un archivo XML. La informacin del anuncio puede proceder de numerosos orgenes, como los siguientes:

Un archivo XML. Puede almacenar la informacin del anuncio en un archivo XML que contenga referencias a los titulares del anuncio y a sus propiedades asociadas. Cualquier control de origen de datos, como los controles SqlDataSource o ObjectDataSource.Por ejemplo, puede almacenar la informacin del anuncio en una base de datos, usar un control SqlDataSource para recuperar esta informacin y, a continuacin, enlazar el control AdRotator al control de origen de datos. Lgica personalizada. Puede crear un controlador para el evento AdCreated y seleccionar un anuncio durante el evento.

<?xml version="1.0" encoding="utf-8" ?> <Advertisements xmlns="http://schemas.microsoft.com/AspNet/AdRotatorSchedule-File"> <Ad> <ImageUrl>~/images/Contoso_ad.gif</ImageUrl> <NavigateUrl>http://www.contoso-ltd.com</NavigateUrl> <AlternateText>Ad for Contoso, Ltd. Web site</AlternateText> <Impressions>100</Impressions> </Ad> <Ad> <ImageUrl>~/images/Aspnet_ad.gif</ImageUrl> <NavigateUrl>http://www.asp.net</NavigateUrl> <AlternateText>Ad for ASP.NET Web site</AlternateText> <Impressions>50</Impressions> </Ad> </Advertisements>

1. 2.

Coloque un control AdRotator en la pgina Web ASP.NET en la ubicacin donde desea que aparezcan los anuncios. Establezca la propiedad AdvertisementFile del control AdRotator en la ruta de acceso del archivo XML que cre en el procedimiento anterior.

Cuando la pgina se ejecuta, el control AdRotator lee el archivo XML de los anuncios y selecciona uno para mostrarlo.

Xml
Se puede usar el control de servidor web Xml para mostrar el contenido de un documento XML sin formato o usando transformaciones XSL. Un control Xml de servidor Web lee XML y lo escribe en una pgina Web ASP.NET en la ubicacin del control. Si se aplica una transformacin XSL (XSLT) al XML, el resultado transformado se representar en la pgina. La informacin de XML y XSLT puede encontrase en documentos externos o puede incluir XML en lnea. Hay dos formas de hacer referencia a documentos externos mediante la configuracin de propiedades en el control XML de servidor Web. Puede proporcionar una ruta de acceso al documento XML en la etiqueta del control o puede cargar mediante programacin los documentos XML y XSLT como objetos y, a continuacin, pasarlos al control. Si prefiere incluir el XML en lnea, escrbalo entre las etiquetas de apertura y cierre del control. El documento XML para mostrar se especifica estableciendo una de propiedades enumeradas en la tabla siguiente. Estas tres propiedades representan los distintos tipos de documento XML que se pueden mostrar. Se puede mostrar un System.Xml.XmlDocument, una cadena XML o un archivo XML si se establece la propiedad adecuada. Para mostrar un documento XML se ha de establecer al menos una de las propiedades. Si se establece ms de una propiedad de documento XML, se mostrar el documento al que se hace referencia en la ltima propiedad establecida. Se omitirn los documentos de las dems propiedades. De manera opcional, puede establecer propiedades para especificar una hoja de estilos de transformacin XSL (XSLT) que da formato al documento XML antes de que se escriba este en el flujo de salida. Las propiedades representan los diferentes tipos de hojas de estilos de transformacin XSL que se pueden usar para dar formato a un documento. Se puede dar formato al documento XML mediante un objeto System.Xml.Xsl.XslCompiledTransform o mediante un archivo de hoja de estilos de transformacin XSL, estableciendo la propiedad adecuada. Si no se especifica ninguna hoja de estilos de transformacin XSL, se mostrar el documento XML con el formato predeterminado.

Panel
El control de servidor web Panel proporciona un control contenedor en una pgina web ASP.NET que se puede usar como control primario para texto esttico y para otros controles. Puede usar el control Panel como contenedor para otros controles. Esto resulta especialmente til cuando se crea contenido mediante programacin y es necesario encontrar una forma de insertar el contenido en la pgina. En las siguientes secciones se describen formas adicionales en las que se puede usar el control Panel.

Contenedor para controles generados dinmicamente


El control Panel proporciona un contenedor que resulta conveniente para los controles creados en tiempo de ejecucin. Para obtener informacin detallada, vea Agregar controles ASP.NET mediante programacin.

Agrupar controles y marcado


Puede administrar un grupo de controles y el marcado asociado como una unidad si los sita en un control Panel y si, a continuacin, manipula el control Panel. Por ejemplo, para ocultar o mostrar un grupo de controles en un panel, defina la propiedad Visible del panel.

Formularios con botones predeterminados


Puede situar controles TextBox y Button dentro del control Panel y, a continuacin, definir un botn predeterminado estableciendo la propiedad DefaultButton de control Panel en el id. de un botn del panel. Si los usuarios presionan ENTRAR al escribir en un cuadro de texto situado en el panel, el efecto ser el mismo que si el usuario hace clic en el botn predeterminado especificado. Esto puede ayudar a los usuarios a que el trabajo con formularios de entrada sea ms eficaz.

Agregar barras de desplazamiento a otros controles


Algunos controles, como TreeView, no tienen barras de desplazamiento integradas. Para agregar comportamiento de desplazamiento, coloque el control en un control Panel. Para agregar barras de desplazamiento al control Panel, establezca el valor de las propiedades Height y Width para restringir el tamao del control Panel y, a continuacin, establezca el valor de la propiedad ScrollBars.

PlaceHolder
El control PlaceHolder permite colocar un control contenedor vaco en la pgina y, a continuacin, agregarle dinmicamente elementos secundarios en tiempo de ejecucin. El control de servidor web PlaceHolder permite colocar un control contenedor vaco dentro de la pgina y, a continuacin, agregar, quitar o recorrer dinmicamente elementos secundarios en tiempo de ejecucin. El control solo presenta sus elementos secundarios: carece por s mismo de marcado. Por ejemplo, suponga que desea que aparezca un nmero variable de botones en una pgina web, dependiendo de las opciones seleccionadas por los usuarios. As, los usuarios no se comparan con opciones potencialmente equvocas que estn disponibles o no corresponden a sus necesidades individuales. Puede crear los botones dinmicamente y agregarlos despus como elementos secundarios de un control PlaceHolder.

BulletedList
El control BulletedList crea una lista de elementos ordenados o no ordenados (numerados) que se presenta como elementos ul u ol de HTML, respectivamente. El control BulletedList deriva de la misma clase ListControl que ListBox, DropDownList y otros controles de lista de ASP.NET. Por tanto, usar el control BulletedList es como trabajar con esos controles. Puede definir los elementos de lista del control BulletedList creando elementos estticos o enlazando el control a un origen de datos. Si sabe en tiempo de diseo qu elementos desea mostrar, puede establecer la coleccin Items del control en un conjunto de elementos individuales de marcado. Si los elementos que se van a mostrar son dinmicos, puede crear la coleccin de elementos mediante cdigo en tiempo de ejecucin. Para obtener informacin detallada, vea Cmo: Agregar elementos a controles de servidor web List. O bien, puede enlazar el control a un origen de datos que contenga la informacin que desea mostrar. Para obtener informacin detallada, vea Cmo: Rellenar controles de servidor web List desde un origen de datos. Puede combinar elementos de lista estticos y elementos de lista enlazados a datos; para ello, establezca la propiedad AppendDataBoundItems del control en true. Al definir los elementos del control BulletedList, se definen dos propiedades: la propiedad Text y la propiedad Value. La propiedad Text define lo que el control muestra en la pgina. La propiedad Value define un segundo valor que no se muestra pero que quizs desee devolver cuando un usuario seleccione un elemento. Por ejemplo, podra mostrar el nombre de un empleado como texto de un elemento, pero usar el id. del empleado como valor. Cuando los usuarios hagan clic en el elemento, puede leer el valor directamente.

HiddenField
El control HiddenField constituye un medio para almacenar informacin en la pgina sin mostrarla. Por ejemplo, podra almacenar un valor de preferencia del usuario en un control HiddenField para que se pueda leer en script de cliente.Para incluir informacin en un control HiddenField, establezca su propiedad Value en el valor que desea almacenar entre las devoluciones de datos. La informacin de un control HiddenField no se muestra cuando el explorador presenta la pgina. Sin embargo, se puede leer y establecer en script de cliente.Cuando se devuelve la pgina, el contenido del control HiddenField, que incluye cualquier cambio realizado en script de cliente, est disponible en cdigo del servidor. Se puede cambiar el valor de un control HiddenField antes de que la pgina se devuelva al servidor. Esto puede ocurrir porque est usando el campo oculto para compartir informacin entre cdigo del servidor y script de cliente, y el script de cliente ha actualizado el valor del control. Para ayudarle a detectar los cambios a los datos del control, el control HiddenField genera un evento ValueChanged si el valor del control cambia entre los postbacks. Puede controlar este evento para determinar si un valor ha cambiado.

FileUpload
El control FileUpload le permite proporcionar a los usuarios un modo de enviar un archivo desde su equipo al servidor. El control FileUpload permite a los usuarios cargar imgenes, archivos de texto u otros archivos. El control FileUpload muestra un cuadro de texto en el que los usuarios pueden escribir el nombre de un archivo que desean cargar en el servidor. El control tambin muestra un botn Examinar que abre un cuadro de dilogo de navegacin en archivos.(El cuadro de dilogo que se muestra depende del sistema operativo del equipo del usuario.) Por razones de seguridad, no puede cargar previamente el nombre de un archivo en el control FileUpload.

Controlar archivos cargados


Cuando los usuarios han seleccionado un archivo para cargar y han enviado la pgina, el archivo se carga como parte de la solicitud. El archivo se almacena ntegramente en la memoria cach del servidor. Cuando finaliza la carga del archivo, se ejecuta el cdigo de la pgina. Puede tener acceso al archivo cargado de los siguientes modos:

Como una matriz de bytes incluida en la propiedad FileBytes del control FileUpload. Como una secuencia incluida en la propiedad FileContent. Como un objeto de tipo HttpPostedFile incluido en la propiedad PostedFile.El objeto PostedFile expone propiedades como ContentType y ContentLength, que proporcionan informacin sobre el archivo cargado.

Cuando el cdigo se ejecuta, puede examinar las caractersticas del archivo, como su nombre, tamao y tipo MIME, y puede guardarlo a continuacin.Puede utilizar el archivo como una secuencia o una matriz de bytes. Por otro lado, el control FileUpload y el objeto HttpPostedFile admiten un mtodo SaveAs que escribe el archivo en el disco. No hay ninguna limitacin inherente acerca de la ubicacin en la que se pueden guardar los archivos cargados. Sin embargo, para guardar el archivo, el proceso de ASP.NET debe tener permiso para crear archivos en la ubicacin especificada.Adems, la aplicacin tendra que configurarse para que requiriera una ruta de acceso absoluta (y no una ruta de acceso relativa) para guardar el archivo, lo que constituye una medida de seguridad.Si el atributo requireRootedSaveAsPath del elemento de configuracin httpRuntime se establece en true (que es el valor predeterminado), debe proporcionar una ruta de acceso absoluta al guardar el archivo cargado. El tamao mximo del archivo que se puede cargar depende del valor de la opcin de configuracin MaxRequestLength.Si los usuarios intentan cargar un archivo que supera este valor mximo, se producir un error en la carga.

Usar el control FileUpload en actualizaciones parciales de pgina


El control FileUpload est diseado para usarse solo en escenarios de postback y no de postback asincrnico durante la presentacin parcial de pginas.Cuando se usa un control FileUpload dentro de un control UpdatePanel, el archivo se debe cargar usando un control que sea un objeto PostBackTrigger para el panel.Los

controles UpdatePanel se usan para actualizar regiones seleccionadas de una pgina en lugar de actualizar la pgina entera con una devolucin de datos.Para obtener ms informacin, vea Informacin general sobre el control UpdatePanel y Informacin general sobre la representacin parcial de pginas.

Seguridad y control FileUpload


Con el control FileUpload, los usuarios pueden cargar archivos que pueden ser malintencionados, como archivos de script y archivos ejecutables.No puede limitar de antemano los archivos que un usuario puede cargar.Si desea limitar los tipos de archivos que un usuario puede cargar, debe examinar las caractersticas del archivo despus de que se haya cargado, por ejemplo la extensin de nombre de archivo y el valor de la propiedad ContentType del archivo. En el ejemplo siguiente se ilustra cmo se trabaja con un archivo cargado.El cdigo comprueba la extensin de nombre del archivo cargado en una lista codificada de forma rgida con las extensiones de nombre de archivo permitidas y rechaza todos los dems tipos de archivos.El archivo se escribe a continuacin en una carpeta UploadedImages del sitio Web actual.El archivo cargado se guarda con el mismo nombre de archivo que tena en el equipo cliente.Se utiliza la propiedad FileName del control FileUpload porque la propiedad FileName del objeto HttpPostedFile devuelve la ruta de acceso completa del archivo del equipo cliente.

protected void Page_Load(object sender, EventArgs e) { if(IsPostBack) { Boolean fileOK = false; String path = Server.MapPath("~/UploadedImages/"); if (FileUpload1.HasFile) { String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); String[] allowedExtensions = {".gif", ".png", ".jpeg", ".jpg"}; for (int i = 0; i < allowedExtensions.Length; i++) { if (fileExtension == allowedExtensions[i]) { fileOK = true; } } } if (fileOK) { try { FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName); Label1.Text = "File uploaded!"; } catch (Exception ex) { Label1.Text = "File could not be uploaded."; } } else

{ Label1.Text = "Cannot accept files of this type."; } } }

MultiView y View
Los controles MultiView y View de servidor Web actan como contenedores para otros controles y el marcado, y proporcionan un medio para presentar de forma sencilla vistas alternativas de la informacin. Puede utilizar los controles MultiView y View para realizar tareas como las siguientes:

Proporcionar conjuntos de controles alternativos basados en la eleccin del usuario o en otras condiciones.Por ejemplo, podra permitir a los usuarios hacer su seleccin en una lista de fuentes, cada una de las cuales estara configurada en un control View diferente.A continuacin, podra mostrar el control View que contiene la eleccin de fuentes del usuario.Puede utilizar los controles MultiView y View como alternativa para no crear varios controles Panel. Crear un formulario de varias pginas.Los controles MultiView y View pueden tener un comportamiento similar al del control Wizard.El control Wizard resulta especialmente apropiado para crear formularios que los usuarios rellenan paso a paso.El control Wizard tambin es compatible con otros elementos integrados de la interfaz de usuario, como un encabezado y pie de pgina, con los botones Anterior y Siguiente, y con las plantillas.Podra utilizar un control MultiView en lugar de Wizard si deseara crear una presentacin que cambiara en funcin de una condicin (y no de forma secuencial) o si no necesitara utilizar las caractersticas adicionales admitidas por el control Wizard. El control MultiView acta como un contenedor externo para uno o varios controles View.Los controles View, a su vez, pueden contener cualquier combinacin de marcado y controles. El control MultiView muestra un control View por vez, y expone tambin el marcado y los controles incluidos en ese control View.Al definir la propiedad ActiveViewIndex del control MultiView, puede especificar qu control View est visible actualmente. Representar el contenido del control View Si no se selecciona un control View, ste no se representa en la pgina.Sin embargo, las instancias de todos los controles de servidor Web incluidos en los controles View se crean cada vez que se representa la pgina, y sus valores se almacenan como parte del estado de vista de la pgina. Ni el control MultiView ni los controles View individuales representan ningn otro marcado en la pgina que el contenido del control View actual.Por ejemplo, los controles no representan un elemento div del mismo modo que un control Panel.Tampoco admiten propiedades de apariencia que se puedan aplicar en conjunto al control View actual.aunque puede asignar un tema a los controles MultiView o View para que este tema se aplique a todos los controles secundarios del control View actual. Hacer referencia a controles Cada control View admite una propiedad Controls que contiene una coleccin de los controles incluidos en ese control View.Tambin puede hacer referencia de manera individual a los controles incluidos en los controles View en el cdigo.Para obtener informacin detallada, vea Accessing ASP.NET Controls Programmatically.

Navegar entre vistas


Puede desplazarse entre las vistas estableciendo la propiedad ActiveViewIndex del control MultiView en el valor del ndice del control View que se va a mostrar.El control MultiView tambin es compatible con botones de navegacin, que puede agregar a cada control View.

Para crear botones de navegacin, puede agregar un control de botn (Button, LinkButton o ImageButton) a cada control View.Puede establecer las propiedades CommandName y CommandArgument de cada botn en valores reservados para hacer que el control MultiView se desplace a otra vista.En la tabla siguiente se muestran los valores CommandName reservados y los valores CommandArgument correspondientes. En el ejemplo de cdigo siguiente se muestra un control MultiView con tres controles View.Cada control View contiene un control Button que se desplaza a un control View concreto.

<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0"> <asp:View ID="View1" runat="server"> View 1<br /> <br /> <asp:Button ID="Button1" runat="server" CommandArgument="View2" CommandName="SwitchViewByID" Text="Go to View2" /> </asp:View> <asp:View ID="View2" runat="server"> View 2<br /> <br /> <asp:Button ID="Button2" runat="server" CommandArgument="View3" CommandName="SwitchViewByID" Text="Go to View 3" /> </asp:View> <asp:View ID="View3" runat="server"> View 3<br /> <br /> <asp:Button ID="Button3" runat="server" CommandArgument="View1" CommandName="SwitchViewByID" Text="Go to View 1" /> </asp:View> </asp:MultiView>

Wizard
Use el control Wizard para simplificar muchas de las tareas asociadas a la compilacin de un conjunto de formularios para recopilar los datos proporcionados por el usuario. La recopilacin de los datos proporcionados por el usuario a travs de formularios es una tarea recurrente en el desarrollo de pginas Web.Un grupo de formularios que se utiliza para llevar a cabo una tarea se suele denominar asistente. El control Wizard de ASP.NET simplifica muchas de las tareas asociadas a la compilacin de varios formularios y la recopilacin de los datos proporcionados por el usuario.El control Wizard proporciona un sencillo mecanismo que permite compilar y agregar pasos o reordenar los pasos existentes con facilidad.Puede compilar navegaciones lineales y no lineales, as como personalizar la navegacin del usuario del control sin necesidad de escribir cdigo. Una prctica frecuente consiste en compilar un grupo de formularios interconectados con el fin de dividir la recoleccin de datos.Para llevar a cabo esta tarea, puede administrar la navegacin entre los formularios, la persistencia de los datos y la administracin de estados en cada paso.Mediante el control Wizard, puede utilizar pasos diferenciados para recopilar datos. De esta forma, los usuarios pueden navegar por los pasos segn su criterio y se facilita su labor.Como desarrollador, no tiene que preocuparse por conservar los datos en las pginas porque el control mantiene el estado mientras el usuario finaliza los distintos pasos.

Pasos del asistente


El control Wizard utiliza los pasos para definir secciones diferentes de entrada de datos por parte del usuario.Cada paso del control est determinado por StepType que indica si se trata del paso inicial, de un paso intermedio o del paso final.El asistente puede tener todos los pasos intermedios necesarios.Puede agregar controles diferentes, como TextBox o ListBox, para recopilar los datos proporcionados por el usuario.Cuando llega al paso Complete, todos los datos estn disponibles.En el siguiente ejemplo de cdigo se muestra el control Wizard con dos pasos.

<asp:Wizard ID="Wizard1" Runat="server"> <WizardSteps> <asp:WizardStep Runat="server" Title="Step 1"> </asp:WizardStep> <asp:WizardStep Runat="server" Title="Step 2"> </asp:WizardStep> </WizardSteps> </asp:Wizard>

En cada paso, puede agregar controles y etiquetas, as como aceptar los datos del usuario.El control Wizard le ayudar a administrar el paso que se va a mostrar y a mantener los datos recopilados.

Navegacin con el asistente


El control Wizard proporciona caractersticas tanto para la navegacin lineal como para la no lineal.La administracin de estados del control permite al usuario avanzar y retroceder por los pasos, as como seleccionar un paso concreto en cualquier punto, siempre que se muestre la barra lateral.Puede personalizar el

texto de la navegacin en el elemento raz del control asp:Wizard mediante las propiedades StepNextButtonText, StepPreviousButtonTexty FinishCompleteButtonText.

<asp:Wizard ID="Wizard1" Runat="server" StepNextButtonText=" Next >> " StepPreviousButtonText=" << Previous " FinishCompleteButtonText=" Done! ">

Personalizar otros aspectos del control Wizard


El control Wizard muestra automticamente un ttulo y el paso actual del control.El ttulo se personaliza con la propiedad HeaderText.Puede ajustar la plantilla del encabezado mediante la propiedad HeaderTemplate. Si lo desea, puede mostrar un botn de cancelacin estableciendo la propiedad DisplayCancelButton en true. Mediante la propiedad NavigationButtonStyle del control Wizard resulta sencillo que todos los botones tengan un estilo comn, aunque esta propiedad tambin proporciona flexibilidad para personalizar cada botn individualmente.La propiedad NavigationButtonStyle se aplica a todos los botones representados.Sin embargo, puede reemplazar este estilo estableciendo la propiedad de estilo de cada botn.

ImageMap
El control ImageMap de ASP.NET le permite crear una imagen con regiones individuales en las que los usuarios pueden hacer clic, denominadas zonas activas.Cada una de estas zonas activas puede ser un hipervnculo independiente o un evento de devolucin de datos. El control ImageMap est formado por dos elementos.El primero es una imagen, que puede ser un grfico en cualquier formato estndar grfico Web, como un archivo .gif, .jpg o .png. El segundo elemento es una coleccin de controles HotSpot.Cada control de zona activa es un elemento diferente que es de tipo CircleHotSpot, RectangleHotSpot o PolygonHotSpot.Para cada control de zona activa, defina las coordenadas que especifican la ubicacin y el tamao de la zona activa.Por ejemplo, si crea un control CircleHotSpot, defina las coordenadas x e y del centro y del radio del crculo. Puede definir todas las zonas activas necesarias para la imagen.No es necesario definir zonas activas para que se cubra todo el grfico. Puede especificar lo que ocurre cuando un usuario hace clic en una zona activa.Se puede configurar cada zona activa como un hipervnculo que va a una direccin URL proporcionada para esa zona activa.O bien, puede configurar el control para que se realice un postback cuando un usuario haga clic en una zona activa y proporcionar un valor nico para cada zona activa.La devolucin de datos provoca el evento Click del control ImageMap.En el controlador de eventos, puede leer el valor nico asignado a cada zona activa.

Potrebbero piacerti anche