Sintaxis de los controles de servidor Web Propiedades básicas de los controles de servidor Web Las propiedades que figuran en la siguiente tabla se aplican a todos los controles de servidor Web que se deriven de la clase WebControl. Los controles de servidor Web que no heredan de la clase WebControl incluyen Literal, PlaceHolder, Repeater y Xml. Propiedades
AccessKey
Attributes
Tecla de método abreviado del control (AccessKey). Esta propiedad especifica una sola letra o un solo número que el usuario puede presionar mientras presiona la tecla ALT. Por ejemplo, especifique "K" si desea que el usuario presione ALT+K para obtener acceso al control. Las teclas de método abreviado se admiten únicamente en Microsoft Internet Explorer 4.0 y versiones posteriores. Colección de atributos adicionales del control no definidos por una propiedad pública pero que también se han de representar. Cualquier atributo no definido por el control de servidor Web se agrega a esta colección. Esto permite utilizar un atributo HTML que el control no admite directamente. Nota Esta propiedad sólo se usa cuando se programa; no puede establecerse cuando se declara el control.
BackColor
Color de fondo del control. La propiedad BackColor se puede establecer mediante identificadores de color HTML estándar: el nombre de un color ("black" o "red") o un valor RGB expresado con formato hexadecimal ("#ffffff").
BorderColor
Color del borde del control. La propiedad BorderColor se puede establecer mediante identificadores de color HTML estándar: el nombre de un color ("black" o "red") o un valor RGB expresado con formato hexadecimal ("#ffffff"). Ancho, en píxeles, del borde del control si existe.
BorderWidth
Nota Puede que esta propiedad no funcione para todos los controles de los exploradores anteriores a Internet Explorer 4.0. Estilo del borde del control, si existe. Los valores posibles son:
Clase de hojas de estilos en cascada (CSS) que se va a asignar al
control. Colección de atributos de texto que se representan como un atributo de estilo CSS en la etiqueta externa del control. Nota
Style
Los valores de estilo establecidos mediante propiedades de estilo (por ejemplo, BackColor) reemplazarán automáticamente un valor correspondiente en esta colección. Los valores que se establecen mediante esta propiedad no se reflejan automáticamente en las propiedades de estilo con establecimiento inflexible de tipos. Algunos controles admiten objetos de estilo que permiten aplicar propiedades de estilo a elementos individuales del control. Esas propiedades reemplazan cualquier configuración que se realice mediante la propiedad Style. Habilita el control cuando el valor de esta propiedad es true (valor predeterminado). Deshabilita el control cuando el valor de esta propiedad es false.
Enabled Nota Al deshabilitar un control, éste se atenúa y se vuelve inactivo. El control no queda oculto. Habilita la persistencia del estado de vista del control cuando el valor de esta propiedad es true (valor predeterminado). EnableTheming Deshabilita la persistencia del estado de vista de este control cuando el valor de esta propiedad es false. Habilita los temas del control cuando el valor de esta propiedad es EnableViewState true (valor predeterminado). Deshabilita los temas de este control cuando el valor de esta propiedad es false.
Font
Facilita información de fuentes del control de servidor Web que se declara. Esta propiedad incluye subpropiedades que se pueden declarar mediante la sintaxis de propiedad-subpropiedad en la etiqueta de apertura de un elemento del control de servidor Web. Por ejemplo, se puede aplicar el formato de negrita al texto de un control de servidor Web incluyendo el atributo Font-Bold en su etiqueta de apertura. Color de primer plano del control.
ForeColor
Nota Puede que esta propiedad no funcione para todos los controles de los exploradores anteriores a Internet Explorer 4.0. Alto del control.
Height
Nota Puede que esta propiedad no funcione para todos los controles de los exploradores anteriores a Internet Explorer 4.0.
SkinID
Máscara que se va a aplicar al control.
TabIndex
Posición del control en el orden de tabulación. Si no se ha establecido el valor de esta propiedad, el índice de posición del control es 0. Los controles con el mismo índice de tabulación se
pueden tabular de acuerdo con el orden en el que se declaran en la página Web. Nota Esta propiedad funciona únicamente en Internet Explorer 4.0 o versiones posteriores. Texto que aparece cuando el usuario sitúa el puntero del mouse (ratón) sobre un control. ToolTip
Nota La propiedad ToolTip no funciona en todos los exploradores. Compruebe la compatibilidad del explorador. Ancho fijo del control. Las posibles unidades son:
Width
• • • • • • • • •
Pixel Point Pica Inch Mm Cm Percentage Em Ex Nota La unidad predeterminada es píxeles. No todos los exploradores admiten todos los tipos de unidad.
Propiedades de estilo Algunos controles admiten propiedades de estilo que permiten configurar la apariencia, como color y fuente, de los elementos individuales del control. Para cambiar la apariencia de un elemento, establezca las propiedades del objeto de estilo apropiado. Comentarios Todas las clases de estilo se derivan de la clase Style y admiten las propiedades definidas en la clase base. Las clases de estilo implementan asimismo propiedades adicionales específicas de la clase. Al declarar un control de servidor Web, las propiedades de un objeto de estilo concreto se especifican anidando el elemento que representa el objeto (por ejemplo, ) entre las etiquetas de apertura y cierre del control. A continuación, puede enumerar las propiedades de estilo individuales (como BackColor="Blue") dentro del elemento.
Para obtener más información sobre estas propiedades, System.Web.UI.WebControls.Style y sus clases derivadas.
vea
la
clase
Ejemplo Para establecer el aspecto del día seleccionado en un control de servidor Web Calendar, establezca las propiedades de estilo de la etiqueta SelectedDayStyle. En el ejemplo de código siguiente se muestra cómo especificar un fondo azul, texto de color rojo y la fuente Arial para la fecha seleccionada del control. Tenga en cuenta que la propiedad Font pertenece al control Calendar y no al objeto TableItemStyle.
Sintaxis declarativa del control de servidor Web AccessDataSource Representa un control de origen de datos que funciona con bases de datos de Microsoft Access.
Comentarios La clase AccessDataSource es un control de origen de datos que funciona con bases de datos de Microsoft Access. Al igual que su clase base, SqlDataSource, el control AccessDataSource utiliza consultas SQL para realizar la recuperación de datos. Una de las características únicas del control AccessDataSource es que no se establece la propiedad ConnectionString. Lo único que hay que hacer es establecer la ubicación del archivo Access .mdb, mediante la propiedad DataFile, y el control AccessDataSource se ocupa de la conexión subyacente con la base de datos. Las bases de datos de Access se deben ubicar en el directorio App_Data del sitio Web y
hacer referencia a ellas mediante una ruta de acceso relativa (por ejemplo, ~/App_Data/Northwind.mdb). Esta ubicación proporciona seguridad adicional para los archivos de datos, porque no se proporcionan si el explorador Web del cliente los solicita directamente. La clase AccessDataSource no admite la conexión con bases de datos de Access protegidas con un nombre de usuario o contraseña, porque no se puede establecer la propiedad ConnectionString. Si una base de datos de Access está protegida con un nombre de usuario o contraseña, utilice el control SqlDataSource para conectarse con ella y poder especificar una cadena de conexión completa. Los controles enlazados a datos se enlazan a un control AccessDataSource utilizando la propiedad DataSourceID del control enlazado a datos. Para obtener más información sobre cómo enlazar un control enlazado a datos a controles de origen de datos, vea Establecer enlaces a datos utilizando un control de origen de datos. Para obtener más información sobre el uso del control AccessDataSource, vea AccessDataSource (Control de servidor Web). Ejemplo En el ejemplo de código siguiente se muestra un escenario de presentación y actualización habitual con el control GridView. La propiedad SelectCommand se establece en una consulta SQL adecuada y en el control GridView se muestran datos de la base de datos Northwind. Puesto que también se especifica UpdateCommand y AutoGenerateEditButton se establece en true, los registros se pueden editar y actualizar sin código adicional. El control GridView controla la adición de parámetros a la colección UpdateParameters; GridView pasa los valores de los parámetros del objeto BoundField en primer lugar y, después, los valores de los campos especificados por la propiedad DataKeyNames. GridView llama al método Update automáticamente. Si desea ordenar los parámetros, especifique explícitamente una colección UpdateParameters en el objeto AccessDataSource. C# en lugar de utilizar una etiqueta de cierre independiente. Para especificar el título que se va a mostrar en el control Button, establezca el valor de la propiedad Text. Para obtener información detallada sobre las propiedades y los eventos del control Button, consulte la documentación relativa a Button. Ejemplo En el siguiente ejemplo se muestra la declaración de un control de botón submit en un archivo .aspx. C# En el siguiente ejemplo se muestra la declaración de un control de botón command en un archivo .aspx. C#
En el siguiente ejemplo se muestra un método de control de eventos que obtiene el clic del botón y muestra la información que se pasa del botón a sus propiedades CommandName y CommandArgument. C# void CommandBtn_Click(Object sender, CommandEventArgs e) { Message.Text = "You clicked the " + e.CommandName + " - " + e.CommandArgument + " button."; }
Sintaxis declarativa del control de servidor Web Calendar Muestra un calendario de un solo mes que permite al usuario seleccionar fechas y desplazarse al mes siguiente o al mes anterior. Comentarios Se utiliza el control Calendar para mostrar un calendario de un solo mes que permite al usuario seleccionar fechas y moverse a los meses anteriores y posteriores. Si se establece el valor de la propiedad SelectionMode, se puede especificar si el usuario tiene la posibilidad de seleccionar un solo día, una semana o un mes completo, o se puede deshabilitar totalmente la selección de fecha. Al establecer las propiedades de estilo de las distintas partes del control, se personaliza la apariencia del control Calendar. En la siguiente tabla se recogen las diferentes propiedades de estilo del control Calendar. Objeto de estilo
Descripción
Clase de estilo
DayHeaderStyle
Estilo de la sección del calendario donde aparecen los nombres de los días de la TableItemStyle semana. Estilo de los días del mes que se muestra. Nota
DayStyle
NextPrevStyle
Los fines de semana, la fecha actual y el día TableItemStyle seleccionado pueden tener estilos diferentes si se establecen las propiedades WeekendDayStyle, TodayDayStyle y SelectedDayStyle , respectivamente. Estilo de las secciones situadas en los extremos izquierdo y derecho de la barra de TableItemStyle título donde se encuentran los controles LinkButton para desplazarse por los meses.
Estilo de los días de los meses anterior y OtherMonthDayStyle posterior al mes que aparece en la vista TableItemStyle actual. Estilo de la fecha seleccionada. SelectedDayStyle
TableItemStyle Nota
Si no está establecida esta propiedad, para mostrar la fecha seleccionada se utiliza el estilo especificado por la propiedad DayStyle.
SelectorStyle
Estilo de la columna situada a la izquierda del control Calendar que contiene vínculos TableItemStyle para seleccionar una semana o el mes completo. Estilo de la barra de título situada en la parte superior del calendario que contiene el nombre del mes y vínculos para desplazarse por los meses.
TitleStyle
Nota
TableItemStyle
Si está establecida la propiedad NextPrevStyle, ésta reemplaza el estilo de los controles de exploración de mes anterior y posterior que se encuentran en los extremos de la barra de título. Estilo de la fecha actual.
TodayDayStyle
Nota Si no está establecida esta propiedad, para mostrar la fecha actual se utiliza el estilo especificado por la propiedad DayStyle.
TableItemStyle
Estilo de los días de fin de semana. Nota WeekendDayStyle Si no está establecida esta propiedad, para TableItemStyle mostrar las fechas de los fines de semana se utiliza el estilo especificado por la propiedad DayStyle. También se puede controlar la apariencia del control Calendar mostrando u ocultando las distintas partes del control. En la siguiente tabla se recogen las distintas partes del control Calendar que se pueden mostrar u ocultar. Propiedad
Descripción
ShowDayHeader
Muestra u oculta la sección que muestra los días de la semana.
ShowGridLines
Muestra u oculta las líneas de cuadrícula entre los días del mes.
ShowNextPrevMonth
Muestra u oculta los controles de exploración para desplazarse al mes siguiente o al mes anterior.
ShowTitle
Muestra u oculta la sección de título.
Si bien el control Calendar no admite el enlace a un origen de datos, se puede modificar el contenido y el formato de las celdas de fecha individuales. Antes de que se muestre el control Calendar en la página Web, crea y ensambla los componentes que forman el control. Se provoca el evento DayRender cuando se crea cada celda de fecha en el control Calendar. Se puede controlar el contenido y
el formato de una celda de fecha en el momento de crearla proporcionando código en el controlador de eventos para el evento DayRender. Nota El control Calendar genera JavaScript en el explorador del cliente. El explorador del cliente debe tener habilitado JavaScript para que este control funcione correctamente. Para obtener más información sobre las secuencias de comandos en el cliente, vea Secuencias de comandos del cliente en páginas Web ASP.NET. Para obtener información sobre las propiedades que admite cada clase de estilo, vea Propiedades de los objetos de estilo. Para obtener información detallada sobre los eventos y propiedades del control Calendar, consulte la documentación referente a la clase Calendar. Ejemplo En el ejemplo siguiente se muestra cómo declarar un control Calendar en un archivo .aspx. La declaración incluye varias propiedades de objetos de estilo y establece el método Date_Selected como controlador del evento SelectionChanged. En el siguiente ejemplo se muestra un método de control de eventos para el evento SelectionChanged de un control Calendar. Al consultar el parámetro SelectedDates del control Calendar, se puede determinar el número de días seleccionados y, por consiguiente, si el usuario selecciona un día, una semana o un mes. La información sobre la selección se muestra en un control de servidor Web Label. C#
protected void Date_Selected(object sender, EventArgs e) { switch (Calendar1.SelectedDates.Count) { case (0): //None { Label1.Text = "No dates are currently selected"; break; } case (1): //Day { Label1.Text = "The selected date is " + Calendar1.SelectedDate.ToShortDateString(); break; } case (7): //Week { Label1.Text = "The selection is a week beginning " + Calendar1.SelectedDate.ToShortDateString(); break; } default: //Month Label1.Text = "The selection is a month beginning " + Calendar1.SelectedDate.ToShortDateString(); break; } }
Sintaxis declarativa del control de servidor Web ChangePassword Crea una interfaz de usuario que permite a los usuarios cambiar su contraseña para el sitio Web. Comentarios Puede utilizar el control ChangePassword en una página para permitir a los usuarios del sitio Web que cambien las contraseñas que utilizan para iniciar sesión en el sitio. Nota de seguridad La transmisión de contraseñas a través de HTTP implica una vulnerabilidad potencial de la seguridad. Las transmisiones HTTP pueden ser vistas o por usuarios malintencionados y quedar expuestas ante éstos. Para una mayor seguridad en el uso de controles de inicio de sesión, debe utilizarse el protocolo HTTPS con cifrado SSL (Secure Sockets Layer) para asegurarse de que la contraseña del usuario no se puede leer durante la devolución de datos. Para obtener más información, vea Proteger los controles de inicio de sesión. El control ChangePassword utiliza el proveedor de suscripciones definido en la propiedad MembershipProvider con el fin de cambiar la contraseña almacenada en el almacén de datos del proveedor de suscripciones para el sitio Web. Si no asigna ningún proveedor de suscripciones, el control ChangePassword utiliza el proveedor predeterminado que se define en la sección membership del archivo Web.config. Para obtener más información sobre el uso del control ChangePassword y otros controles de inicio de sesión en ASP.NET, vea Controles ASP.NET de inicio de sesión. Ejemplo En el ejemplo de código siguiente se muestra cómo establecer la propiedad NewPasswordRegularExpression para definir una expresión regular que compruebe las contraseñas para garantizar que cumplen los criterios que se enumeran a continuación: • • •
Tienen más de seis caracteres. Contienen un dígito por lo menos. Contienen al menos un carácter especial (no alfanumérico).
Los requisitos para las contraseñas que PasswordHintText se muestran al usuario.
se
encuentran
en
la
propiedad
Si la contraseña que ha escrito el usuario no cumple los requisitos de la propiedad NewPasswordRegularExpression, se muestra al usuario el texto que contiene la propiedad NewPasswordRegularExpressionErrorMessage. Si no se escribe una nueva contraseña, se muestra al usuario el texto que contiene la propiedad NewPasswordRequiredErrorMessage. Nota La nueva contraseña debe cumplir los requisitos mínimos establecidos por el proveedor de suscripciones en las propiedades MinRequiredPasswordLength, MinRequiredNonAlphanumericCharacters y PasswordStrengthRegularExpression. Si la contraseña no cumple estos requisitos, se provoca el evento ChangePasswordError. C# Change Password with Validation
Sintaxis declarativa del control de servidor Web CheckBox Crea un control de casilla de verificación que permita al usuario cambiar del estado true al estado false, y viceversa. Comentarios El control CheckBox crea una casilla de verificación en la página de formularios Web Forms que permita al usuario cambiar del estado true al estado false y viceversa. Para especificar el título que se va a mostrar en el control, establezca el valor de la propiedad Text. El título puede aparecer a la derecha o a la izquierda de la casilla de verificación. Establezca el valor de la propiedad TextAlign para especificar el lado donde va a aparecer el título.
Nota Dado que el elemento no tiene contenido, se puede cerrar la etiqueta con /> en lugar de utilizar una etiqueta de cierre independiente. Para determinar si está activado el control CheckBox, compruebe la propiedad Checked. Se provoca el evento CheckedChanged cuando el estado del control CheckBox cambia entre los distintos envíos al servidor. Se puede proporcionar un controlador de eventos para el evento CheckedChanged para que realice una tarea específica cuando el estado del control CheckBox cambia entre los distintos envíos al servidor. Nota Cuando se crean varios controles CheckBox, se puede usar asimismo el control CheckBoxList. El control CheckBoxList es más fácil de usar para crear un conjunto de casillas de verificación mediante el enlace de datos, mientras que el control CheckBox individual permite un mayor control sobre el diseño. De manera predeterminada, el control CheckBox no envía automáticamente el formulario al servidor cuando se hace clic en él. Para habilitar el envío automático, establezca el valor de la propiedad AutoPostBack en true. Precaución El texto no contiene código HTML antes de mostrarse en el control CheckBox. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Para obtener más información sobre los eventos y propiedades del control de servidor Web CheckBox, consulte la documentación referente a la clase CheckBox. Ejemplo En el ejemplo siguiente se muestra cómo declarar un control CheckBox en un archivo .aspx. Se configura la casilla de verificación de modo que, al activarse, se devuelva inmediatamente el formulario al servidor. C# En el siguiente ejemplo se muestra cómo crear un controlador de eventos para el evento CheckedChanged con el fin de copiar el contenido de un cuadro de texto que contiene la dirección de facturación de un cliente a un cuadro de texto que contiene la dirección de envío. C#
Sintaxis declarativa del control de servidor Web CheckBoxList Crea un grupo de casillas de verificación de selección múltiple. Este control admite el enlace a un origen de datos. Comentarios El control CheckBoxList crea un grupo de casillas de verificación de selección múltiple que se pueden generar dinámicamente mediante el enlace de datos. Para especificar los elementos que van a aparecer en el control CheckBoxList, coloque un elemento ListItem por cada entrada entre las etiquetas de apertura y de cierre del control CheckBoxList. Nota También se pueden utilizar varios controles CheckBox. El control CheckBoxList es más fácil de usar para crear un conjunto de casillas de verificación mediante el enlace de datos, mientras que el control CheckBox permite un mayor control del diseño. El control CheckBoxList también admite el enlace de datos. Para enlazar el control a un origen de datos, primero se crea un origen de datos, por ejemplo un objeto DataSourceControl, que contenga los elementos que se van a mostrar en el control. A continuación, se utiliza el método DataBind para enlazar el origen de datos al control CheckBoxList. Utilice las propiedades DataTextField y DataValueField para especificar el campo del origen de datos que se va a enlazar a las propiedades Text y Value, respectivamente, de cada elemento de lista del control. Ahora, el control CheckBoxList mostrará la información del origen de datos. Para determinar los elementos seleccionados en el control CheckBoxList, recorra en iteración la colección Items y compruebe la propiedad Selected de cada elemento de la colección. Para especificar cómo se va a mostrar la lista, utilice las propiedades RepeatLayout y RepeatDirection. Si el valor de RepeatLayout es RepeatLayout.Table (valor predeterminado), la lista se representa en una tabla. Si su valor es RepeatLayout.Flow, la lista se representa sin estructura de tabla. De manera predeterminada, RepeatDirection se establece como RepeatDirection.Vertical. Al establecer el valor de esta propiedad en RepeatDirection.Horizontal, la lista se representa horizontalmente. Precaución El texto no contiene código HTML antes de mostrarse en el control CheckBoxList. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad.
Para obtener más información sobre los eventos y propiedades del control de servidor Web CheckBoxList, consulte la documentación referente a la clase CheckBoxList. Ejemplo En el ejemplo siguiente se muestra cómo declarar un control CheckBoxList en un archivo .aspx. La lista contiene seis elementos que no se excluyen mutuamente. Cuando un usuario activa una de las casillas, la página no se devuelve inmediatamente al servidor (la página no se envía hasta que ocurra algún otro evento, como un clic en un control Button). No se llama a ningún controlador de eventos OnSelectedIndexChanged ya que no se ha declarado ningún método para dicho evento. C# Item Item Item Item Item Item
1 2 3 4 5 6
En el siguiente ejemplo se muestra cómo determinar las casillas de verificación seleccionadas en un control CheckBoxList. El código recorre en iteración la colección Items del control y comprueba la propiedad Selected de cada elemento. A continuación, se muestran los elementos seleccionados en el control Label. C# void Button1_OnClick(Object sender, EventArgs e) { string s; s = "Selected items: "; for (int i = 0; i < Check1.Items.Count; i++) { if (Check1.Items[i].Selected) { s = s + Check1.Items[i].Text + " "; } } Label1.Text = s; }
Sintaxis declarativa de los controles de servidor Web de contenido Crea un control de servidor que contiene texto, formato y otros controles de servidor que se representan en un control ContentPlaceHolder de una página principal. Visible="True|False" Comentarios Un control Content es un contenedor para el contenido y los controles de una página de contenido. Un control Content sólo se utiliza con una página principal que define un control ContentPlaceHolder correspondiente. Un control Content no es un control independiente. Para obtener más información sobre las páginas principales, vea Páginas principales ASP.NET. Ejemplo Esta sección contiene dos ejemplos de código. El primer ejemplo de código muestra cómo utilizar el control Content para definir el contenido de una página principal. El segundo ejemplo de código muestra cómo utilizar una página de contenido para la página principal que se utiliza en el primer ejemplo de código. En el ejemplo de código siguiente se muestra cómo utilizar el control Content para definir el contenido de una página principal. La primera página Web es una página principal que define un área de contenido mediante un control ContentPlaceHolder. C# MasterPage Example En el ejemplo de código siguiente se muestra cómo utilizar una página de contenido para la página principal que se utiliza en el ejemplo de código anterior. El texto, formato y los controles de servidor que se definen dentro de la plantilla de control Content se representan en ContentPlaceHolder en la página principal.
C# Hello,
Master
Sintaxis declarativa del control de servidor Web GridView Muestra los valores de un origen de datos en una tabla donde cada columna representa un campo y cada fila representa un registro. El control GridView permite seleccionar, ordenar y editar estos elementos.
Comentarios El control GridView se utiliza para mostrar los valores de un origen de datos en una tabla. Cada columna representa un campo y cada fila representa un registro. Para obtener más información sobre el uso del control GridView, vea GridView (Control de servidor Web). Ejemplo En el código de ejemplo siguiente se muestra cómo utilizar el control GridView para mostrar los valores de la tabla Authors de la base de datos de ejemplo Pubs en Microsoft SQL Server. Los valores se recuperan mediante un control SqlDataSource. C# GridView Example
Sintaxis declarativa del control de servidor Web HiddenField Crea un campo oculto que se utiliza para almacenar un valor no mostrado. Comentarios El control HiddenField se utiliza para almacenar un valor que se tiene que conservar en los sucesivos envíos al servidor. Se representa como elemento . Para obtener más información sobre el control HiddenField, vea HiddenField (Control de servidor Web). Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar el control HiddenField para almacenar un valor oculto en una página Web representada. C#
Sintaxis declarativa del control de servidor Web FileUpload Crea un control (que por lo general se muestra como un control de cuadro de texto y un botón de examinar) que permite a los usuarios seleccionar un archivo para cargarlo en el servidor. Comentarios El control FileUpload muestra como un control de cuadro de texto y un botón de examinar para seleccionar un archivo en el cliente y cargarlo en el servidor Web. Para especificar el archivo que se debe cargar, el usuario escribe su ruta de acceso completa en el equipo local (por ejemplo, C:\MisArchivos\TestFile.txt) en el control de cuadro de texto. Si lo prefiere, el usuario puede seleccionar el archivo haciendo clic en el botón Examinar y buscándolo en el cuadro de diálogo Elegir archivo. El control FileUpload no envía automáticamente al servidor el archivo que el usuario selecciona para cargarlo. Es necesario proporcionar explícitamente un control o mecanismo que permita al usuario enviar el formulario. Normalmente, el archivo se guarda o el contenido se controla en un método de control de eventos de un evento que provoca un envío de datos al servidor. Por ejemplo, si se
proporciona un botón para enviar un archivo, se puede escribir código para guardar el archivo en el método de control de eventos del evento clic. Para obtener más información sobre el control FileUpload, vea FileUpload (Control de servidor Web). Ejemplo En el ejemplo de código siguiente se muestra cómo crear un control FileUpload que guarda los archivos en una ruta de acceso especificada en código. Se llama al método SaveAs para guardar el archivo en el servidor en la ruta de acceso especificada. La aplicación ASP.NET que contiene el ejemplo debe tener derechos de escritura en el directorio especificado del servidor. Se puede conceder explícitamente derecho de escritura a la cuenta en que se está ejecutando la aplicación, en el directorio en que se van a guardar los archivos cargados. Si se prefiere, se puede aumentar el nivel de confianza que se concede a la aplicación ASP.NET. C# Comentarios El control FormView se utiliza para mostrar un registro de un origen de datos. Es similar al control DetailsView, salvo en que muestra las plantillas definidas por el usuario en lugar de los campos de las filas. Se pueden asignar diferentes plantillas definidas por el usuario para ver, editar y actualizar los registros. Crear plantillas propias da una mayor flexibilidad para controlar la presentación de los datos. Para obtener más información sobre el control FormView, vea FormView (Control de servidor Web). Ejemplo El ejemplo de código siguiente muestra cómo utilizar un control FormView para mostrar los valores de un control SqlDataSource. C# FormView Example
Sintaxis declarativa del control de servidor Web ContentPlaceHolder Crea un área para contenido en una página principal de ASP.NET. Comentarios Un control ContentPlaceHolder define un área relativa para contenido en una página principal y representa todo el texto, formato y los controles de servidor desde un control Content relacionado que se encuentra en una página de contenido. Un control Content se asocia a ContentPlaceHolder utilizando su propiedad ContentPlaceHolderID. Establezca la propiedad ContentPlaceHolderID en el valor de la propiedad ID del control ContentPlaceHolder relacionado en una página principal. Se puede declarar más de un control ContentPlaceHolder en una página principal. Para obtener más información sobre las páginas principales, vea Páginas principales ASP.NET. Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar el control ContentPlaceHolder para definir un área de contenido para una página principal. La página Web es una página principal que define un área de contenido mediante un control ContentPlaceHolder. Para que una página de contenido haga referencia a esta página principal, se establece el atributo MasterPageFile de la directiva @ Page y se definen controles Content. C# MasterPage Example
Sintaxis declarativa del control de servidor Web CreateUserWizard Proporciona una interfaz de usuario para crear las nuevas cuentas de usuario de un sitio Web.
Comentarios El control CreateUserWizard proporciona la interfaz de usuario del objeto MembershipProvider que se comunica con el almacén de datos de las cuentas de usuario del sitio Web para crear nuevas cuentas en dicho almacén. CreateUserWizard confía en MembershipProvider para crear, autenticar y deshabilitar las cuentas de usuario. Para obtener más información sobre cómo utilizar el control CreateUserWizard y otros controles de inicio de sesión de ASP.NET, vea Información general sobre controles de inicio de sesión de ASP.NET. Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar el control CreateUserWizard con las plantillas predeterminadas. Esta página creará una nueva cuenta de usuario de sitio Web con el objeto MembershipProvider predeterminado para el sitio. C# CreateUserWizard Sample
Sign Up for Your New Account
User Name:
*
Password:
*
Confirm Password:
*
Email:
*
Security Question:
*
Security Answer:
*
Complete
Your account has been successfully created.
Sintaxis declarativa del control de servidor Web DataGrid El control DataGrid representa una cuadrícula tabular enlazada a datos. Este control permite definir varios tipos de columna para controlar el diseño del contenido de las celdas de la cuadrícula (columnas enlazadas, columnas de plantilla) y agregar funciones específicas (como columnas de botones de edición, columnas de hipervínculos, etc.). El control también admite varias opciones de paginación de los datos.
Comentarios Antes de utilizar el control DataGrid, pruebe a utilizar el control GridView en su lugar. El control GridView es nuevo en la versión 2.0 de .NET Framework y es el sucesor del control DataGrid. El control DataGrid muestra los campos de un origen de datos como columnas de una tabla. Cada fila del control DataGrid representa un registro del origen de datos. El control DataGrid admite operaciones de selección, edición, eliminación, paginación y ordenación. De manera predeterminada, la propiedad AutoGenerateColumns está establecida en true, de modo que se crea un objeto BoundColumn para cada campo del origen de datos. A continuación, cada campo se representa como una columna del control DataGrid en el orden de aparición de cada campo en el origen de datos. También es posible controlar manualmente qué columnas aparecerán en el control DataGrid; para ello, se establece la propiedad AutoGenerateColumns en false y, después, se muestran en la lista las columnas que se desean incluir entre las etiquetas de apertura y cierre . Las columnas especificadas se agregan a la colección Columns en el orden en que aparecen en la lista. Esto permite controlar mediante programación las columnas del control DataGrid.
Nota El orden en que se muestran las columnas en el control DataGrid se rige por el orden en que aparecen en la colección Columns. Si bien se puede cambiar mediante programación el orden de las columnas manipulando la colección Columns, resulta más fácil mostrar las columnas en el orden de presentación deseado. Nota Las columnas declaradas explícitamente pueden utilizarse junto con columnas generadas automáticamente. Cuando se utilizan ambos tipos de columna, se muestran primero las columnas declaradas explícitamente y, a continuación, las columnas generadas automáticamente. Las columnas generadas automáticamente no se agregan a la colección Columns. Diferentes tipos de columna determinan el comportamiento de las columnas del control. El control DataGrid permite usar los siguientes tipos de columna. Tipo de columna
Descripción
EditCommandColumn
Encapsula los comandos de edición más comunes (Edit, Update, Cancel) en un tipo de columna predefinido.
HyperLinkColumn
Crea una columna con un conjunto de hipervínculos enlazados al valor de un campo de datos. Por ejemplo, una cuadrícula que muestra una lista de pedidos puede incluir una columna de hipervínculos donde se represente el campo OrderID como un hipervínculo a una página que muestra los detalles del pedido.
BoundColumn
Crea una columna enlazada a un campo del origen de datos y que se representa en una celda de tabla mediante estilos. Éste es el tipo de columna predeterminado para el control DataGrid.
ButtonColumn
Crea una columna que contiene un botón de comando definido por el usuario, como Add o Remove, por cada elemento de la columna.
TemplateColumn
Crea una columna que permite definir el diseño de los controles mediante plantillas de elementos HTML y controles personalizados.
Las siguientes tablas incluyen información sobre las columnas que se pueden declarar para el control DataGrid. Propiedades básicas DataGridColumn Las propiedades siguientes están disponibles en todos los tipos de columna DataGrid. Propiedad
Descripción
FooterText
Texto que se va a mostrar en el borde inferior de la columna.
HeaderImageUrl
Dirección URL de una imagen que se muestra en lugar del texto HeaderText en el encabezado de columna.
HeaderText
Texto que se va a mostrar en el borde superior de la columna.
Owner
Referencia al control DataGrid al que pertenece la columna enlazada (sólo lectura).
Esta propiedad sólo se usa cuando se programa. SortExpression
Nombre del campo por el que se va a ordenar el origen de datos cuando el usuario especifica la ordenación por el contenido de esta columna.
Visible Es true si se muestra la columna; en caso contrario, es false. Propiedades BoundColumn Propiedad Descripción DataField
Campo o propiedad del objeto de DataSource que es el origen de los datos de la columna.
Cadena de expresión de formato que especifica cómo aparece el DataFormatString campo en la celda. Es similar a las expresiones de formato utilizadas por el método Format. Es true si no se puede editar la columna cuando la fila está en modo de edición; en caso contrario, es false. Propiedades ButtonColumn Propiedad Descripción ReadOnly
Tipo de botón que se va a mostrar. El valor predeterminado es LinkButton. ButtonType Cuando se programa, esta propiedad se establece mediante ButtonColumnType. Cadena que indica el comando que se va a enviar cuando se hace clic en un botón de la columna. Esta cadena está disponible en el método de control de eventos mediante la propiedad CommandSource del objeto de argumento de evento e.
CommandName
El control DataGrid reconoce determinados nombres de comando estándar. Estos nombres de comando incluyen Select, Sort, Update, Cancel, Edit, Delete y Page. DataTextField
Nombre del campo de DataSource que se enlaza a la propiedad Text del botón de ButtonColumn.
DataTextFormatString
Cadena de expresión de formato que especifica cómo aparece el campo en la celda.
Título que se va a mostrar en la cara del botón de esta columna. Si está establecida la propiedad DataTextField, reemplazará este valor. Propiedades TemplateColumn Propiedad Descripción
Text
EditItemTemplate
Elementos HTML y controles que definen la columna cuando está en modo de edición.
FooterTemplate
Elementos HTML y controles que definen el pie de columna.
HeaderTemplate
Elementos HTML y controles que definen el encabezado de columna.
Elementos HTML y controles que definen la columna cuando ésta se muestra. Propiedades HyperLinkColumn Propiedad Descripción ItemTemplate
DataNavigateUrlField
Campo o propiedad del objeto de DataSource que proporciona la dirección URL de la página a la que moverse.
DataNavigateUrlFormatString
Expresión de formato que se utiliza con la propiedad Text.
DataTextField
Campo o propiedad del objeto de DataSource que es el origen de los datos de la propiedad Text de las columnas.
DataTextFormatString
Cadena de formato que especifica cómo aparece la propiedad Text en el control.
NavigateUrl
Dirección URL de la página a la que moverse. Si está establecida la propiedad DataNavigateUrlField, reemplazará esta propiedad.
Target
Ventana de destino que muestra la página. Puede ser el nombre de una ventana o la referencia a un marco como _TOP.
Text Texto del hipervínculo. Propiedades EditCommandColumn Propiedad Descripción Tipo de botón que se va a mostrar. El valor predeterminado es LinkButton. ButtonType Cuando se programa, ButtonColumnType. EditText
esta
propiedad
se
establece
mediante
Cadena que se muestra en el botón Edit.
UpdateText Cadena que se muestra en el botón Update. CancelText Cadena que se muestra en el botón Cancel. Se puede personalizar la apariencia del control DataGrid estableciendo las propiedades de estilo de las diferentes partes del control. En la siguiente tabla se recogen las propiedades de estilo de las distintas partes del control DataGrid. Propiedades de estilo Propiedad de Descripción estilo
Clase de estilo
AlternatingItemStyle
Estilo de cada dos elementos (elementos TableItemStyle alternos).
EditItemStyle
Estilo de la fila que se está editando.
FooterStyle
Estilo del pie de página al final de la lista TableItemStyle (si existe).
HeaderStyle
Estilo del encabezado al principio de la TableItemStyle lista (si existe).
ItemStyle
Estilo de elementos individuales.
PagerStyle
Estilo de los controles de selección de DataGridPagerStyle página.
SelectedItemStyle
Estilo del seleccionado.
elemento
actualmente
TableItemStyle
Style
TableItemStyle
Para obtener información sobre las propiedades que admite cada clase de estilo, vea Propiedades de los objetos de estilo. El control DataGrid contiene funciones integradas para mostrar su contenido en segmentos de página. El número de elementos de la página viene determinado por
la propiedad PageSize. Si no se ha especificado ningún valor para la propiedad PageSize, el control DataGrid mostrará diez elementos a la vez en la página. La paginación está deshabilitada de manera predeterminada. Para habilitar la paginación, establezca la propiedad AllowPaging en true y proporcione código para controlar el evento PageIndexChanged. La lógica normal del evento PageIndexChanged consiste en establecer la propiedad CurrentPageIndex en el índice de la página que se desea mostrar y, a continuación, volver a enlazar el origen de datos al control. Al índice de la página que se va a mostrar se suele NewPageIndex del objeto obtener acceso mediante la propiedad DataGridPageChangedEventArgs que se pasa al controlador de eventos. En la paginación estándar, el control DataGrid supone que el origen de datos contiene todos los elementos que se van a mostrar. El control DataGrid calcula los índices de los elementos de la página actual tomando como base el índice de página (especificado por la propiedad CurrentPageIndex) y el número de elementos de la página (especificado por la propiedad PageSize). Para una mayor personalización de la apariencia del control DataGrid, se pueden agregar mediante programación atributos a las etiquetas
y
generadas por el control DataGrid. Los atributos se pueden insertar en las etiquetas proporcionando un controlador de eventos personalizado para el evento ItemCreated o ItemDataBound. En general, los atributos se agregan en el controlador del evento ItemCreated. Sin embargo, si los atributos dependen de datos reales, agregue los atributos en el controlador del evento ItemDataBound. Para agregar un atributo a la etiqueta
, obtenga primero el objeto TableCell que representa la celda del control DataGrid a la que desea agregar el atributo. La colección Control.Controls de la propiedad Item (indizador DataGridItemEventArgs) del objeto DataGridItemEventArgs que se pasa en el controlador de eventos se puede utilizar para obtener la TableCell deseada. Después, se puede utilizar el método AttributeCollection.Add de la colección Attributes de TableCell para agregar atributos a la etiqueta
. Para agregar un atributo a la etiqueta
, obtenga primero el objeto DataGridItem que representa la fila del control DataGrid a la que desea agregar el atributo. La propiedad Item (indizador DataGridItemEventArgs) del objeto DataGridItemEventArgs que se pasa en el controlador de eventos se puede utilizar para obtener el objeto DataGridItem deseado. Después, se puede utilizar el método AttributeCollection.Add de la colección Attributes de DataGridItem para agregar atributos a la etiqueta
. Precaución El texto no se codifica en HTML antes de mostrarse en el control DataGrid. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Para obtener información detallada sobre los eventos y propiedades del control de servidor Web DataGrid, consulte la documentación referente a la clase DataGrid. Ejemplo En el siguiente ejemplo se indica cómo usar el control DataGrid para mostrar los elementos del origen de datos.
C# ICollection CreateDataSource() { 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("CurrencyValue", typeof(double))); for (int i = 0; i < 9; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + i.ToString(); dr[2] = 1.23 * (i + 1); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { if (!IsPostBack) { // Load this data only once. ItemsGrid.DataSource= CreateDataSource(); ItemsGrid.DataBind(); } } DataGrid Example Product List En el siguiente ejemplo se muestra cómo utilizar la paginación en un control DataGrid. C# DataTable Cart; DataView CartView; ICollection CreateDataSource() { 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("CurrencyValue", typeof(double))); for (int i = 0; i < 100; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + i.ToString(); dr[2] = 1.23 * (i+1); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { if (!IsPostBack) { // Need to load this data only once. ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); }
if (CheckBox1.Checked) ItemsGrid.PagerStyle.Mode = PagerMode.NumericPages; else ItemsGrid.PagerStyle.Mode = PagerMode.NextPrev; } void Grid_Change(Object sender, DataGridPageChangedEventArgs e) { // Set CurrentPageIndex to the page the user clicked. ItemsGrid.CurrentPageIndex = e.NewPageIndex; // Rebind the data. ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); }
DataGrid Paging Example
C# ICollection CreateDataSource() { // Create sample data for the DataGrid control. DataTable dt = new DataTable(); DataRow dr; // Define the columns of the table. dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(String))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(Double))); // Populate the table with sample values. for (int i=0; i Comentarios El diseño y el contenido del control se pueden manipular mediante la definición de plantillas. En la siguiente tabla se recogen las diferentes plantillas para el control DataList. Es similar al elemento ItemTemplate, pero se representa para cada dos filas (filas alternas) en el control DataList. AlternatingItemTemplate Se puede especificar otra apariencia para el elemento AlternatingItemTemplate estableciendo el valor de sus propiedades de estilo. EditItemTemplate
Diseño de un elemento cuando está en modo de edición. Esta plantilla suele contener controles de edición, como controles TextBox. Se invoca EditItemTemplate para
una fila del control DataList cuando EditItemIndex tiene como valor el número ordinal de dicha fila. FooterTemplate
Texto y controles que se van a representar en la parte inferior (pie) del control DataList. FooterTemplate no se puede enlazar a datos.
HeaderTemplate
Texto y controles que se van a representar en la parte superior (encabezado) del control DataList. HeaderTemplate no se puede enlazar a datos.
ItemTemplate
Elementos que se van a representar una vez para cada fila del origen de datos.
SelectedItemTemplate
Elementos que se van a representar cuando el usuario seleccione un elemento del control DataList. Se utiliza normalmente para aumentar el número de campos de datos que se muestran y marcar visualmente la fila resaltándola. Elementos que se van a representar entre cada elemento.
SeparatorTemplate
Los elementos de SeparatorTemplate no se pueden enlazar a datos.
Se puede personalizar la apariencia del control DataList especificando un estilo para las diferentes partes del control. La siguiente tabla recoge las propiedades de estilo que controlan la apariencia de las diferentes partes del control DataList. Propiedad de estilo
Descripción
Clase de estilo
AlternatingItemStyle
Estilo de cada dos (elementos alternos).
EditItemStyle
Estilo del elemento que se está TableItemStyle editando.
FooterStyle
Estilo del pie de página al final de TableItemStyle la lista (si existe).
HeaderStyle
Estilo del encabezado al principio TableItemStyle de la lista (si existe).
ItemStyle
Estilo de elementos individuales.
Style
SelectedItemStyle
Estilo del elemento seleccionado.
TableItemStyle
SeparatorStyle
Estilo del separador entre cada TableItemStyle elemento.
elementos
TableItemStyle
Nota El control DataList se diferencia del control Repeater ya que admite la representación direccional (mediante las propiedades RepeatColumns y RepeatDirection) así como la opción de representación en una tabla HTML. La colección Items contiene los miembros enlazados a datos del control DataList. La colección se rellena cuando se llama al método DataBind en el control DataList. Primero se agrega el encabezado (si lo hay) y, a continuación, un objeto Item por cada fila de datos. Si existe una plantilla SeparatorTemplate, se crean Separators y se agregan entre cada elemento, pero no se agregan a la colección Items.
Una vez creados todos los elementos de las filas en el DataSource, se agrega el Footer al control (pero no a la colección Items). Por último, el control provoca el evento ItemCreated para cada elemento, incluidos el encabezado, el pie y los separadores. A diferencia de la mayoría de las colecciones, la colección Items no expone el método Add o Remove. No obstante, se puede modificar el contenido de un elemento proporcionando un controlador para el evento ItemCreated. Precaución El texto no contiene código HTML antes de mostrarse en el control DataList. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Para obtener más información sobre los eventos y propiedades del control de servidor Web DataList, consulte la documentación referente a la clase DataList. Ejemplo En el siguiente ejemplo se muestra cómo usar un control DataList para mostrar los elementos de un origen de datos. C# ICollection CreateDataSource() { // Create sample data for the DataList control. DataTable dt = new DataTable(); DataRow dr; // Define the columns of the table. dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(String))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double))); dt.Columns.Add(new DataColumn("ImageValue", typeof(String))); // Populate the table with sample values. for (int i = 0; i < 9; i++) { dr = dt.NewRow(); dr[0] dr[1] dr[2] dr[3]
= = = =
i; "Description for item " + i.ToString(); 1.23 * (i + 1); "Image" + i.ToString() + ".jpg";
dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv;
}
void Page_Load(Object sender, EventArgs e) { // Load sample data only once, when the page is first loaded. if (!IsPostBack) { ItemsList.DataSource = CreateDataSource(); ItemsList.DataBind(); } } DataList Example List of items Description:
Price: "{0:c}") %>
Sintaxis declarativa del control de servidor Web DetailsView Muestra los valores de un registro único de un origen de datos en una tabla, donde cada fila de datos representa un campo del registro. El control DetailsView permite editar, eliminar e insertar registros.
Comentarios El control DetailsView se utiliza para mostrar un registro de un origen de datos en una tabla, donde cada campo del registro aparece en una fila. Se puede utilizar en combinación con un control GridView para los escenarios de detalles maestros. Ejemplo El ejemplo de código siguiente muestra cómo utilizar un control DetailsView en combinación con un control GridView para un escenario de detalles maestros sencillo. Muestra los detalles de un elemento seleccionado en el control GridView. Para obtener más información sobre el uso del control DetailsView, vea DetailsView (Control de servidor Web). C#
Sintaxis declarativa del control de servidor Web DropDownList Permite a los usuarios realizar una selección en una lista desplegable de selección única. La lista desplegable puede contener cualquier número de elementos. Comentarios Utilice el control DropDownList para crear un control de lista desplegable de selección única. Para controlar la apariencia del control DropDownList, establezca el valor de las propiedades BorderColor, BorderStyle y BorderWidth. Para especificar los elementos que van a figurar en el control DropDownList, coloque un elemento ListItem por cada entrada entre las etiquetas de apertura y de cierre del control DropDownList. El control DropDownList también admite el enlace de datos. Para enlazar el control a un origen de datos, cree primero un origen de datos, como una lista ArrayList, que contenga los elementos que se van a mostrar en el control. A continuación, utilice el método DataBind para enlazar el origen de datos al control DropDownList. Utilice las propiedades DataTextField y DataValueField para especificar qué campo del origen de datos se va a enlazar a las propiedades Text y Value, respectivamente, de cada elemento de lista del control. Ahora, el control DropDownList mostrará la información del origen de datos. Utilice la propiedad SelectedIndex para determinar mediante programación el índice del elemento seleccionado por el usuario en el control DropDownList. A continuación, se podrá utilizar el índice para recuperar el elemento seleccionado de la colección Items del control. Para obtener información detallada sobre las propiedades y los eventos del control de servidor Web DropDownList, consulte la documentación relativa a DropDownList. Ejemplo En el siguiente ejemplo de código se muestra DropDownList que contenga cuatro elementos.
cómo
crear
un
C# void Selection_Change(Object sender, EventArgs e) { // Set the background color for days in the Calendar control // based on the value selected by the user from the // DropDownList control. Calendar1.DayStyle.BackColor = System.Drawing.Color.FromName(ColorList.SelectedItem.Value); }
control
DropDownList Example Select a background color for days in the calendar.
Background color:
White
En el siguiente ejemplo de código se muestra cómo rellenar un control DropDownList mediante el enlace de datos declarativo. C# DropDownList Declarative DataBinding Sample void Selection_Change(Object sender, EventArgs e) { // Set the background color for days in the Calendar control // based on the value selected by the user from the // DropDownList control. Calendar1.DayStyle.BackColor = Color.FromName(ColorList.SelectedItem.Value); } Colors: En el siguiente ejemplo de código se muestra cómo crear DropDownList a través del enlace de datos mediante programación.
un
control
C# void Selection_Change(Object sender, EventArgs e) { // Set the background color for days in the Calendar control // based on the value selected by the user from the // DropDownList control. Calendar1.DayStyle.BackColor = System.Drawing.Color.FromName(ColorList.SelectedItem.Value); } void Page_Load(Object sender, EventArgs e) { // Load data for the DropDownList control only once, when the // page is first loaded. if(!IsPostBack) { // Specify the data source and field names for the Text // and Value properties of the items (ListItem objects) // in the DropDownList control. ColorList.DataSource = CreateDataSource(); ColorList.DataTextField = "ColorTextField"; ColorList.DataValueField = "ColorValueField"; // Bind the data to the control. ColorList.DataBind(); // Set the default selected item, if desired. ColorList.SelectedIndex = 0; } } ICollection CreateDataSource() { // Create a table to store data for the DropDownList control. DataTable dt = new DataTable(); // Define the columns of the table. dt.Columns.Add(new DataColumn("ColorTextField", typeof(String))); dt.Columns.Add(new DataColumn("ColorValueField", typeof(String))); // Populate the table with sample values. dt.Rows.Add(CreateRow("White", "White", dt)); dt.Rows.Add(CreateRow("Silver", "Silver", dt)); dt.Rows.Add(CreateRow("Dark Gray", "DarkGray", dt));
dt.Rows.Add(CreateRow("Khaki", "Khaki", dt)); dt.Rows.Add(CreateRow("Dark Khaki", "DarkKhaki", dt)); // Create a DataView from the DataTable to act as the data source // for the DropDownList control. DataView dv = new DataView(dt); return dv; } DataRow CreateRow(String Text, String Value, DataTable dt) { // Create a DataRow using the DataTable defined in the // CreateDataSource method. DataRow dr = dt.NewRow(); // This DataRow contains the ColorTextField and ColorValueField // fields, as defined in the CreateDataSource method. Set the // fields with the appropriate value. Remember that column 0 // is defined as ColorTextField, and column 1 is defined as // ColorValueField. dr[0] = Text; dr[1] = Value; return dr; } DropDownList Data Binding Example Select a background color for days in the calendar.
Background color:
Sintaxis declarativa del control de servidor Web HyperLink Crea un vínculo en la página en el que pueden hacer clic los usuarios para moverse a otra página. Comentarios Utilice el control HyperLink para crear un vínculo que permita al usuario desplazarse a otra página u otra ubicación de la página. Para especificar la página o ubicación a la que se va a vincular, utilice la propiedad NavigateUrl. El vínculo puede mostrarse como texto o una imagen. Para mostrar texto, establezca la propiedad Text o coloque el texto entre las etiquetas de apertura y de cierre del control HyperLink. Para mostrar una imagen, establezca la propiedad ImageUrl. Nota Dado que el elemento no necesita tener contenido, se puede
cerrar la etiqueta con /> en lugar de usar una etiqueta de cierre independiente. Si establece las propiedades Text e ImageUrl, ImageUrl tendrá prioridad. Si no está disponible la imagen, se mostrará el texto de la propiedad Text. En los exploradores que admiten la función información sobre herramientas, se muestra el valor de la propiedad Text cuando se sitúa el puntero del mouse (ratón) encima del control HyperLink. Para especificar el marco o la ventana en la que se va a mostrar la página vinculada, establezca la propiedad Target. Los valores deben empezar por una letra comprendida entre la a y la z (sin distinción entre mayúsculas y minúsculas), salvo los siguientes valores especiales que empiezan por un carácter de subrayado: _blank
Muestra la página vinculada en una nueva ventana sin marcos.
_parent
Muestra la página vinculada en el conjunto de marcos principal inmediato.
_self
Muestra la página vinculada en el marco con foco.
_top
Muestra la página vinculada en una ventana completa sin marcos.
Precaución El texto no se codifica en HTML antes de mostrarse en el control HyperLink. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Para obtener información detallada sobre los eventos y propiedades del control de servidor Web HyperLink, consulte la documentación de HyperLink. Al utilizar el control de servidor Web HyperLink para desplazarse entre las páginas de una aplicación, se puede utilizar el carácter comodín de la tilde ("~") para indicar la raíz de la aplicación sin tener que codificar un nombre de directorio en la dirección URL relativa de la aplicación. Por ejemplo, se puede utilizar "~/Default.aspx" para regresar a la página Default.aspx de la aplicación desde cualquier página de cualquier subdirectorio de la aplicación. Ejemplo En el ejemplo siguiente se muestra cómo utilizar un control HyperLink para ir a otra página Web. C# HyperLink Example Click on the HyperLink:
Sintaxis declarativa del control de servidor Web Image Muestra una imagen compatible con el Web en la página de formularios Web Forms. Comentarios El control Image se utiliza para mostrar una imagen en la página de formularios Web Forms. Al establecer la propiedad ImageUrl se especifica la ruta de acceso a la imagen mostrada. Puede especificar el texto que aparecerá en lugar de la imagen cuando ésta no esté disponible; para ello, establezca la propiedad AlternateText. La propiedad ImageAlign especifica la alineación de la imagen en relación con los demás elementos de la página de formularios Web Forms. Nota Este control sólo muestra una imagen. Si desea que la imagen se comporte como un botón o necesita determinar las coordenadas de la imagen donde se ha hecho clic, utilice el control ImageButton. Nota Puesto que el elemento no tiene contenido, puede cerrar la etiqueta con /> en lugar de utilizar una etiqueta de cierre independiente.
Para obtener más detalles sobre las propiedades y eventos del control de servidor Web Image, consulte la documentación de Image. Ejemplo En el siguiente ejemplo se muestra cómo crear un control Image en una página Web. Nota En el siguiente ejemplo de código se muestra el modelo de código de un solo archivo, y podría no funcionar correctamente si se copia directamente en un archivo de código subyacente. Este ejemplo de código debe copiarse en un archivo de texto vacío que tenga la extensión .aspx. Para obtener más información sobre el modelo de código de formularios Web Forms, vea Modelo de código de las páginas Web ASP.NET. C# void Button_Click(Object sender, EventArgs e) { switch(DropList1.SelectedIndex) { case 0: Image1.ImageAlign = ImageAlign.NotSet; break; case 1: Image1.ImageAlign = ImageAlign.Left; break; case 2: Image1.ImageAlign = ImageAlign.Right; break; case 3: Image1.ImageAlign = ImageAlign.Baseline; break; case 4: Image1.ImageAlign = ImageAlign.Top; break; case 5: Image1.ImageAlign = ImageAlign.Middle; break; case 6: Image1.ImageAlign = ImageAlign.Bottom; break; case 7: Image1.ImageAlign = ImageAlign.AbsBottom;
break; case 8: Image1.ImageAlign = ImageAlign.AbsMiddle; break; case 9: Image1.ImageAlign = ImageAlign.TextTop; break; default: Image1.ImageAlign = ImageAlign.NotSet; break; } } Image Example Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Select Image Align: NotSet Left Right BaseLine Top Middle Bottom AbsBottom AbsMiddle
TextTop
Sintaxis declarativa del control de servidor Web ImageButton Permite controlar los clics que hace el usuario en una imagen, lo cual proporciona una funcionalidad similar a un mapa de imagen. Comentarios Utilice el control ImageButton para mostrar una imagen que responde a los clics del mouse (ratón). Para especificar la imagen que se va a mostrar en el control, establezca el valor de la propiedad ImageUrl. Se provocan los eventos Click y Command cuando se hace clic en el control ImageButton.
Con ayuda del controlador de eventos OnClick, se pueden determinar mediante programación las coordenadas del punto donde se ha hecho clic en la imagen. A continuación, se puede crear código de respuesta tomando como base los valores de las coordenadas. Observe que el origen (0, 0) está situado en la esquina superior izquierda de la imagen. Se puede utilizar el controlador de eventos OnCommand para que el control ImageButton se comporte como un botón de comando. Se puede asociar un nombre de comando al control mediante la propiedad CommandName. Esto permite colocar varios controles ImageButton en la misma página Web. A continuación, se puede identificar mediante programación el valor de la propiedad CommandName en el controlador de eventos OnCommand para determinar la acción apropiada que debe realizarse cuando se hace clic en cada uno de los controles ImageButton. También puede utilizarse la propiedad CommandArgument para pasar más información sobre el comando, como el orden ascendente. Nota Dado que el elemento no tiene contenido, se puede cerrar la etiqueta con /> en lugar de utilizar una etiqueta de cierre independiente. De manera predeterminada, se realiza la validación de la página cuando se hace clic en un control ImageButton. La validación de la página determina si los controles de entrada asociados a un control de validación en la página cumplen las reglas de validación especificadas por el control de validación. Si hay un control ImageButton que necesite deshabilitar este comportamiento, como un botón reset, establezca el valor de la propiedad CausesValidation en false. Para obtener más información sobre los eventos y propiedades del control de servidor Web ImageButton, consulte la documentación referente a la clase ImageButton. Ejemplo En el siguiente ejemplo se muestra cómo usar un control ImageButton para mostrar las coordenadas del puntero del mouse cuando se hace clic en la imagen. Nota En el siguiente ejemplo de código se utiliza el modelo de código de un solo archivo. Puede que el ejemplo no funcione correctamente si se copia directamente a un archivo de código subyacente. Este ejemplo de código debe copiarse a un archivo de texto vacío que tenga la extensión .aspx. Para obtener más información sobre el modelo de código de los formularios Web Forms, vea Modelo de código de las páginas Web ASP.NET. C# void ImageButton_Click(object sender, ImageClickEventArgs e) { Label1.Text = "You clicked the ImageButton control at the coordinates: (" + e.X.ToString() + ", " + e.Y.ToString() + ")"; }
ImageButton Sample Click anywhere on the image.
Sintaxis declarativa del control de servidor Web ImageMap Crea un control que muestra una imagen en una página. Cuando se hace clic en un área de la zona activa definida dentro del control ImageMap, el control genera una devolución de datos al servidor o se desplaza a una dirección URL especificada. Comentarios Utilice el control ImageMap para crear una imagen que contiene áreas de la zona activa definidas. Cuando un usuario hace clic en un área de la zona activa, el control puede generar una devolución de datos al servidor o desplazarse a la dirección URL especificada. Para obtener más información sobre la utilización del control ImageMap, vea ImageMap (Control de servidor Web). El control Image puede ser una buena alternativa si sólo necesita capturar las coordenadas donde el usuario hizo clic y no necesita las capacidades del área de la zona activa. Ejemplo El siguiente ejemplo de código muestra cómo crear un control ImageMap de forma declarativa que contiene dos objetos CircleHotSpot. La propiedad System.Web.UI.WebControls.HotSpot.HotSpotMode está establecida en HotSpotMode.Navigate, lo que hace que la página se desplace a la dirección URL especificada cada vez que un usuario haga clic en una de las áreas de la zona activa circular. Para que este ejemplo funcione correctamente, debe suministrar su propia imagen para la propiedad ImageUrl y actualizar adecuadamente la ruta de acceso hasta la imagen para que la aplicación pueda localizarla. C# ImageMap Class Navigate Example
ImageMap Class Navigate Example Shopping Choices:
Sintaxis declarativa del control de servidor Web Label Muestra texto estático en una página de formularios Web Forms y permite manipularlo mediante programación. Comentarios Utilice el control Label para mostrar texto en una ubicación establecida de la página. A diferencia del texto estático, puede personalizar el texto mostrado estableciendo un valor para la propiedad Text. Precaución El texto no se codifica en HTML antes de aparecer en el control Label. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad.
Para obtener más detalles sobre las propiedades y eventos del control de servidor Web Label, vea la información relativa a la clase Label. Ejemplo En el siguiente ejemplo se muestra cómo crear un control Label en una página Web. Nota En el siguiente ejemplo de código se muestra el modelo de código de un solo archivo, y podría no funcionar correctamente si se copia directamente en un archivo de código subyacente. Este ejemplo de código debe copiarse en un archivo de texto vacío que tenga la extensión .aspx. Para obtener más información sobre el modelo de código de formularios Web Forms, vea Modelo de código de las páginas Web ASP.NET. C# void Button_Click(Object Sender, EventArgs e) { Label1.Text = Server.HtmlEncode(Text1.Text); } Label Example
Sintaxis declarativa del control de servidor Web LinkButton Crea un botón de hipervínculo en una página de formularios Web Forms. Comentarios Utilice el control LinkButton para crear un botón de hipervínculo en una página de formularios Web Forms. Especifique el texto que se va a mostrar en el control LinkButton estableciendo el valor de la propiedad Text o colocando el texto entre las etiquetas de apertura y de cierre del control LinkButton. Se puede crear un botón de envío o un botón de comando.
Nota El control LinkButton tiene la misma apariencia que un control HyperLink, pero tiene la misma funcionalidad que un control Button. Utilice el control HyperLink si desea establecer un vínculo a otra página Web cuando se hace clic en el control. Un botón submit no tiene nombre de comando asociado y simplemente devuelve la página Web al servidor. De manera predeterminada, un control LinkButton es un botón submit. Se puede proporcionar un controlador de eventos para el evento Click con el fin de controlar mediante programación las acciones que se llevan a cabo cuando se hace clic en el botón submit. Al establecer el valor de la propiedad CommandName, se puede asociar un nombre de comando al botón de comando, como Sort. Esto permite crear varios controles LinkButton en una página Web y determinar mediante programación en qué control LinkButton se hace clic. Asimismo, se puede usar la propiedad CommandArgument con un botón de comando para proporcionar información adicional sobre el comando que se va a llevar a cabo, como por ejemplo Ascending. Se puede proporcionar un controlador de eventos para el evento Command con el fin de controlar mediante programación las acciones que se llevan a cabo cuando se hace clic en el botón de comando. Nota El control LinkButton representa JavaScript en el explorador del cliente. El explorador del cliente debe tener habilitado JavaScript para que este control funcione correctamente. Para obtener más información sobre las secuencias de comandos en el cliente, vea Secuencias de comandos del cliente en páginas Web ASP.NET. De manera predeterminada, la página se valida cuando se hace clic en un control LinkButton. La validación de la página determina si los controles de entrada asociados a un control de validación en la página cumplen las reglas de validación especificadas por el control de validación. Si hay un control LinkButton que tiene que deshabilitar este comportamiento, como un botón reset, establezca el valor de la propiedad CausesValidation en false. Precaución El texto no tiene código HTML antes de mostrarse en el control LinkButton. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Los botones Command (como los controles LinkButton) se utilizan con frecuencia en los controles con plantilla para comunicar una acción al control primario. Por ejemplo, la selección que se realiza en una lista DataList o el cambio de modo en una vista FormView. Para obtener más detalles sobre las propiedades y los eventos del control de servidor Web LinkButton, consulte la documentación relativa a la clase LinkButton. Ejemplo En el siguiente ejemplo se muestra cómo usar un control LinkButton para mostrar un mensaje cuando se hace clic en el control. C#
void LinkButton_Click(Object sender, EventArgs e) { Label1.Text="You clicked the link button"; } LinkButton Example
Sintaxis declarativa del control de servidor Web ListBox Crea un cuadro de lista de selección única o de selección múltiple.
Comentarios Utilice el control ListBox para crear un control de lista que permita la selección de uno o varios elementos. Utilice la propiedad Rows para especificar el alto del control. Para habilitar la selección de varios elementos, establezca la propiedad SelectionMode en Multiple. Para especificar los elementos que van a aparecer en el control ListBox, coloque un elemento ListItem para cada entrada entre las etiquetas de apertura y de cierre del control ListBox. El control ListBox también admite el enlace de datos. Para enlazar el control a un origen de datos, primero cree un origen de datos, como uno de los objetos DataSourceControl, que contenga los elementos que se mostrarán en el control. Luego, utilice el método DataBind para enlazar el origen de datos al control ListBox. Use las propiedades DataTextField y DataValueField para especificar qué campo del origen de datos se va a enlazar a las propiedades Text y Value, respectivamente, de cada elemento de lista del control. Ahora, el control ListBox mostrará la información del origen de datos. Si la propiedad SelectionMode se establece en Multiple, para determinar los elementos seleccionados en el control ListBox recorra en iteración la colección Items y compruebe la propiedad Selected de cada elemento de la colección. Si la propiedad SelectionMode se establece en Single, puede utilizar la propiedad SelectedIndex para determinar el índice del elemento seleccionado. A continuación, se puede utilizar el índice para recuperar el elemento de la colección Items. Para obtener información detallada sobre los eventos y propiedades del control de servidor Web ListBox, vea la documentación referente a la clase ListBox. Ejemplo En el siguiente ejemplo se muestra cómo utilizar el control ListBox para mostrar al usuario una lista de opciones predefinidas. El elemento seleccionado por el usuario se muestra en un control Label. C# void SubmitBtn_Click(Object sender, EventArgs e) { if (ListBox1.SelectedIndex > -1) Label1.Text="You chose: " + ListBox1.SelectedItem.Text; }
ListBox Example Item Item Item Item Item Item
1 2 3 4 5 6
Sintaxis declarativa del control de servidor Web Literal Muestra contenido programación.
estático
en
la
página
y
permite
manipularlo
mediante
Comentarios El control Literal se utiliza para mostrar texto estático en la página de formularios Web Forms. Al contrario de lo que sucede con el control Label, Literal no permite aplicar estilos al contenido. Nota El texto no se codifica en HTML antes de aparecer en el control Literal. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Ejemplo En el ejemplo siguiente se muestra cómo utilizar el control Literal para mostrar texto estático. C# void ButtonClick(Object sender, EventArgs e) { Literal1.Text="Welcome to ASP.NET!!"; } Literal Example
Sintaxis declarativa del control de servidor Web Localize Crea una ubicación en una página Web para mostrar texto estático traducido. Comentarios Utilice el control Localize a fin de reservar una ubicación en una página Web para mostrar el texto traducido. El control Localize es idéntico al control Literal y similar al control Label. Aunque el control Label permite aplicar un estilo al texto que se muestra, el control Localize no lo permite. Puede controlar mediante programación el texto que se muestra en el control Localize si establece la propiedad Text, que se hereda del control Literal. Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar el control Localize para traducir un bloque de texto estático. Los recursos de página de la carpeta App_LocalResource se utilizan con el fin de personalizar el texto para los distintos idiomas. C# Localize Example
Sintaxis declarativa del control de servidor Web LoginView Utiliza plantillas para mostrar contenido variante a un usuario dado, basado en el estado de autenticación y la suscripción a funciones del usuario. Comentarios El control LoginView presenta diferentes plantillas de contenido de sitio Web (o vistas) para distintos usuarios basándose en si el usuario se ha autenticado y, en tal caso, a qué funciones del sitio Web pertenece. Para obtener más información sobre cómo utilizar el control LoginView y otros controles de inicio de sesión, vea Controles ASP.NET de inicio de sesión. Ejemplo En el ejemplo de código siguiente se muestra cómo establecer las plantillas para cada uno de los tres tipos de plantillas que admite el control LoginView. C# Comentarios El control Menu se utiliza para presentar un menú en una página de formularios Web Forms y suele emplearse junto con un control SiteMapDataSource para explorar un sitio Web. Para obtener más información sobre el control Menu y otros controles de exploración, vea Controles ASP.NET de exploración. Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar la sintaxis declarativa para crear un control Menu con elementos de menú estático. C#
Menu Declarative Example
Sintaxis declarativa del control de servidor Web MultiView Crea un control que actúa como contenedor para un grupo de controles View. Comentarios El control MultiView es un contenedor de un grupo de controles View. Permite definir un grupo de controles View, donde cada control View contiene controles secundarios. A continuación, la aplicación puede representar un control View específico en el cliente basándose en criterios como identidad del usuario, preferencias del usuario e información que se pasa en un parámetro de cadena de consulta. También se puede utilizar el control MultiView para crear asistentes. En este escenario, cada control View incluido en un control MultiView representa un paso o pagina diferente en el asistente. Este control también se debería utilizar para desarrollar aplicaciones de pantallas múltiples para dispositivos móviles. Este control proporciona la misma funcionalidad que el control ASP.NET Mobile Form de la versión 1.1 de Microsoft .NET Framework. Para obtener más información sobre cómo utilizar los controles MultiView y View, vea MultiView y View (Controles de servidor Web). Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar un control MultiView para crear una encuesta básica. Cada control View es una pregunta de la encuesta independiente. Cuando el usuario hace clic en el botón Previous en cualquier página, el valor de la propiedad ActiveViewIndex disminuye para desplazarse al control View anterior. Cuando el usuario hace clic en el botón Next en cualquier página, el valor de la propiedad ActiveViewIndex aumenta para desplazarse al control View siguiente. C#
protected void NextButton_Command(object sender, EventArgs e) { // Determine which button was clicked // and set the ActiveViewIndex property to // the view selected by the user. if (DevPollMultiView.ActiveViewIndex > -1 & DevPollMultiView.ActiveViewIndex < 3) { // Increment the ActiveViewIndex property // by one to advance to the next view. DevPollMultiView.ActiveViewIndex += 1; } else if (DevPollMultiView.ActiveViewIndex == 3) { // This is the final view. // The user wants to save the survey results. // Insert code here to save survey results. // Disable the navigation buttons. Page4Save.Enabled = false; Page4Restart.Enabled = false; } else { throw new Exception("An error occurred."); } } protected void BackButton_Command(object sender, EventArgs e) { if (DevPollMultiView.ActiveViewIndex > 0 & DevPollMultiView.ActiveViewIndex Comentarios
El control PasswordRecovery ayuda a usuarios que han olvidado su contraseña. Permite a un usuario solicitar un mensaje de correo electrónico que contenga una contraseña nueva o que ya esté asociada a su nombre de usuario. Nota El control PasswordRecovery utiliza los servicios de correo electrónico de Internet para enviar a los usuarios contraseñas nuevas o recuperadas. El envío de contraseñas por correo electrónico presenta riesgos para la seguridad. Deberá determinar si esos riesgos para la seguridad son aceptables. Para obtener más información sobre el control PasswordRecovery y otros controles de inicio de sesión, vea Controles ASP.NET de inicio de sesión. Ejemplo En el ejemplo de código siguiente se muestra cómo se utiliza el control PasswordRecovery. Se definen controladores para los eventos Load y UserLookupError. La propiedad HelpPageUrl se establece en el archivo recoveryHelp.aspx. C# -1) { Label1.Text = "You selected: " + RadioButtonList1.SelectedItem.Text; } } void chkLayout_CheckedChanged(Object sender, EventArgs e) { if (chkLayout.Checked == true) { RadioButtonList1.RepeatLayout = RepeatLayout.Table; } else { RadioButtonList1.RepeatLayout = RepeatLayout.Flow; } } void chkDirection_CheckedChanged(Object sender, EventArgs e) { if (chkDirection.Checked == true) { RadioButtonList1.RepeatDirection = RepeatDirection.Horizontal; } else { RadioButtonList1.RepeatDirection = RepeatDirection.Vertical; } } RadioButtonList Example Item 1 Item 2
Item 3 Item 4 Item 5 Item 6
id=Button1
Text="Submit"
onclick="Button1_Click"
id=Label1
font-name="Verdana"
font-size="8pt"
Sintaxis declarativa del control de servidor Web Repeater Crea un control de lista con enlace de datos que permite especificar un diseño personalizado aplicando la misma plantilla a cada uno de los elementos mostrados en la lista. Comentarios Utilice el control Repeater para crear una lista básica con enlace de datos basada en plantilla. El control Repeater no tiene estilos ni diseños integrados, por lo que se deben declarar explícitamente todas las etiquetas de diseño, formato y estilo HTML en las plantillas del control. El control Repeater se diferencia de los demás controles de lista de datos ya que permite colocar fragmentos HTML en sus plantillas. Esto permite crear una estructura HTML compleja, como una tabla. Por ejemplo, para crear una lista en una tabla HTML, inicie la tabla colocando la etiqueta
en HeaderTemplate. A continuación, cree las filas y columnas de la tabla colocando etiquetas
, etiquetas
y elementos enlazados a datos en ItemTemplate. Si desea que los elementos alternos de la tabla tengan otra apariencia, cree una plantilla AlternatingItemTemplate con el mismo contenido que la plantilla ItemTemplate
pero con otro estilo. Por último, complete la tabla colocando la etiqueta
en la plantilla FooterTemplate. En la siguiente tabla se recogen las diferentes plantillas para el control Repeater. Plantilla
Descripción
Similar al elemento ItemTemplate, pero se representa para cada dos filas (elementos alternos) del AlternatingItemTemplate control Repeater. Se puede especificar otra apariencia para el elemento AlternatingItemTemplate estableciendo el valor de sus propiedades de estilo.
FooterTemplate
Elementos que se representan una sola vez después de haberse representado todas las filas enlazadas a datos. Esta plantilla se suele utilizar para cerrar un elemento abierto en el elemento HeaderTemplate (con una etiqueta como
). Nota FooterTemplate no se puede enlazar a datos. Elementos que se representan una sola vez antes de haberse representado todas las filas enlazadas a datos. Esta plantilla se suele utilizar para iniciar un elemento contenedor, como una tabla.
HeaderTemplate Nota Los elementos de HeaderTemplate no se pueden enlazar a datos.
ItemTemplate
Elementos que se representan una sola vez para cada fila del origen de datos. Para mostrar datos en ItemTemplate, declare uno o varios controles de servidor Web y establezca sus expresiones de enlace de datos para que se evalúen en un campo del DataSource del control Repeater (es decir, del control contenedor). En el siguiente ejemplo se muestra una declaración que presenta el campo que contiene el primer nombre de un control Label. First Name: Elementos que se van a representar entre cada fila, normalmente etiquetas de saltos de línea ( ), etiquetas de líneas horizontales (), etc.
SeparatorTemplate Nota Los elementos de SeparatorTemplate no se pueden enlazar a datos. El control Repeater no tiene compatibilidad integrada para seleccionar o editar. Se puede crear un controlador para el evento ItemCommand del control con el fin de procesar los eventos del control que se envían desde las plantillas al control.
El control enlaza sus plantillas Item y AlternatingItem a una estructura de datos a la que se hace referencia en la propiedad DataSource o DataSourceID del control. (Las plantillas Header, Footer y Separator no se pueden enlazar a datos.) Si se ha establecido el valor de la propiedad DataSource del control Repeater pero no se devuelve ningún dato, el control representará las plantillas Header y Footer, pero no representará ningún elemento. Si no se ha establecido el valor de la propiedad DataSource, no se representará el control Repeater. Precaución El texto no contiene código HTML antes de mostrarse en el control Repeater. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Para obtener más información sobre los eventos y propiedades del control de servidor Web Repeater, consulte la documentación referente a la clase Repeater. Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar la propiedad DataSourceID para especificar el origen de datos de un control Repeater. El valor de la propiedad DataSourceID se establece en la propiedad ID del control SqlDataSource que se utiliza para recuperar los datos. Una vez cargada la página, el control Repeater se enlaza automáticamente al origen de datos especificado por el control SqlDataSource y se muestran los datos. C# Repeater.DataSourceID Property Example
Product ID
Product Name
Sintaxis declarativa del control de servidor Web SiteMapDataSource Proporciona un control de origen de datos que los controles de servidor Web y otros controles pueden utilizar para enlazar con datos jerárquicos del mapa de sitios. Comentarios El control SiteMapDataSource es un origen de datos para los datos del mapa de sitios que almacenan los proveedores del mapa de sitios que están configurados para su sitio. El control SiteMapDataSource habilita a los controles de servidor Web que no son controles de exploración del sitio específicamente, como por ejemplo los controles TreeView, Menu y DropDownList, para enlazar con datos jerárquicos del mapa de sitios. Estos controles de servidor Web se pueden utilizar para mostrar un mapa de sitios como una tabla de contenido o para explorar de forma activa un sitio. Como alternativa, puede utilizar el control SiteMapPath que está diseñado especialmente como control de exploración de un sitio y por tanto no necesita una instancia del control SiteMapDataSource. Para obtener más información sobre el control SiteMapDataSource y los controles de exploración, vea Controles ASP.NET de exploración. Ejemplo El siguiente ejemplo de código muestra cómo enlazar mediante declaración un control TreeView con un mapa de sitios utilizando un control SiteMapDataSource. Los datos del mapa de sitios se obtienen comenzando en el nivel de nodo raíz. C#
Sintaxis declarativa del control de servidor Web SiteMapPath Muestra un conjunto de hipervínculos de texto o de imágenes que ocupan muy poco espacio en las páginas y permiten a los usuarios desplazarse fácilmente por un sitio Web.
Comentarios El control SiteMapPath es un control de exploración de sitios que refleja datos proporcionados por el objeto SiteMap. Ofrece un medio económico desde el punto de vista del espacio para desplazarse rápidamente por un sitio y sirve como punto de referencia para determinar en qué lugar del sitio se encuentra la página que se muestra. Este tipo de control se llama, entre otras denominaciones, ruta de exploración, ya que muestra una ruta de acceso jerárquica de nombres de páginas con hipervínculos que permiten ascender por la jerarquía de páginas desde la ubicación actual. El control SiteMapPath resulta útil en el caso de sitios cuyas estructuras jerárquicas de páginas son profundas pero en los que el uso de controles TreeView o Menu podría suponer la ocupación de mucho espacio en las páginas. Para obtener más información sobre el control SiteMapPath y los controles de exploración, vea Controles ASP.NET de exploración. Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar mediante declaración un control SiteMapPath en una página de formularios Web Forms. Este ejemplo de código muestra algunas de las reglas de prioridad que rigen el orden con el se aplican las plantillas y los estilos a los nodos SiteMapPath. En este ejemplo se utiliza el proveedor del mapa del sitio predeterminado y un archivo Web.sitemap con la estructura que se muestra a continuación. C#
runat="server"
Sintaxis declarativa del control de servidor Web SqlDataSource Habilita el enlace de datos declarativo para los objetos de una base de datos de SQL Server. Comentarios El control de origen de datos SqlDataSource representa los datos de una base de datos relacional basada en SQL como controles enlazados a datos. El control SqlDataSource se puede utilizar junto con el control enlazado a datos para recuperar datos de una base de datos relacional y mostrar, editar y ordenar los datos de una página Web con muy poco o nada de código.
Para obtener más información sobre el uso del control SqlDataSource, vea SqlDataSource (Control de servidor Web). Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar un control SqlDataSource mediante declaración para recuperar datos de Microsoft SQL Server y mostrarlos en un control GridView. C#
Sintaxis declarativa del control de servidor Web Substitution Especifica una sección de una página Web con almacenamiento en caché de resultados que está exenta del almacenamiento en caché. En esta ubicación, se recupera el contenido dinámico, que sustituye al control Substitution. Comentarios Utilice el control Substitution para especificar una sección de una página Web con almacenamiento en caché de resultados donde desee que el control se sustituya por contenido dinámico. El control Substitution ofrece una solución simplificada al almacenamiento parcial de páginas en caché en aquellos casos donde la mayor parte del contenido se almacena en caché. Puede almacenar la página completa en la caché de resultados y, a continuación, utilizar controles Substitution para especificar las partes de la página que están exentas del almacenamiento en caché. Para obtener más información sobre el control Substitution, vea Información general sobre Substitution (Control de servidor Web). Ejemplo En el ejemplo de código siguiente se muestra cómo agregar un control Substitution mediante declaración a una página Web con almacenamiento en caché de resultados. Cuando la página se carga, la fecha y hora actual se muestran al usuario en una etiqueta. Esta sección de la página se almacena en caché y se actualiza cada 60 segundos. Cuando el control Substitution se ejecuta, llama al método GetCurrentDateTime. La cadena devuelta por GetCurrentDateTime se muestra al usuario. Esta sección de la página no se almacena en caché y se actualiza cada vez que se actualiza la página. C# void Page_Load(object sender, System.EventArgs e) { // Display the current date and time in the label. // Output caching applies to this section of the page. CachedDateLabel.Text = DateTime.Now.ToString(); }
// The Substitution control calls this method to retrieve // the current date and time. This section of the page // is exempt from output caching. public static string GetCurrentDateTime (HttpContext context) { return DateTime.Now.ToString (); } Substitution Class Example Substitution Class Example
This section of the page is not cached:
This section of the page is cached:
Sintaxis declarativa del control de servidor Web Table Declara una tabla y permite manipularla mediante programación. Comentarios
La clase Table permite generar una tabla HTML y especificar sus características. Una tabla se puede generar en tiempo de diseño con contenido estático, pero el control Table se genera a menudo mediante programación con contenido dinámico. Nota Las adiciones o modificaciones realizadas mediante programación en una fila o celda de tabla no se conservan en los envíos al servidor. Las filas y celdas de la tabla son en sí mismas controles y no propiedades del control Table. Los cambios realizados en las filas o celdas de la tabla deben volver a hacerse después de cada envío al servidor. Si se esperan modificaciones importantes, utilice el control DataList o DataGrid en lugar del control Table. Cada control Table se compone de filas (representadas por instancias de la clase HtmlTableRow) que están almacenadas en la colección Rows del control. Cada fila se compone de celdas (representadas por instancias de la clase HtmlTableCell) que están almacenadas en la colección Cells de cada TableRow. Para mostrar una imagen en el fondo del control Table, establezca la propiedad BackImageUrl. De manera predeterminada, no está establecida la alineación horizontal de los elementos de la tabla. Si desea especificar la alineación horizontal, establezca la propiedad HorizontalAlignment. La propiedad CellSpacing controla el espaciado entre cada celda. Para especificar el espacio entre el contenido de una celda y su borde, establezca la propiedad CellPadding. Para mostrar los bordes de la celda, establezca la propiedad GridLines. Se pueden mostrar las líneas horizontales, las líneas verticales o las líneas horizontales y verticales. Precaución El texto no se codifica en HTML antes de mostrarse en el control Table. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Para obtener información detallada sobre los eventos y propiedades del control de servidor Web Table, consulte la documentación referente a la clase Table. Ejemplo En el ejemplo de código siguiente se muestra cómo crear una tabla en tiempo de diseño. La tabla contiene dos filas de dos celdas cada una. Nota En el ejemplo de código siguiente se utiliza el modelo de código de un solo archivo y es posible que no funcione si se copia directamente en un archivo de código subyacente. Este ejemplo de código se debe copiar en un archivo de texto vacío con extensión .aspx. Para obtener más información acerca del modelo de código de formularios Web Forms, vea Modelo de código de las páginas Web ASP.NET. C# Table example, constructed at design time Row 0, Col 0 Row 0, Col 1 Row 1, Col 0 Row 1, Col 1
Sintaxis declarativa del control de servidor Web TableCell Representa una celda en un control Table y permite manipularla mediante programación. Comentarios Una instancia de la clase TableCell representa una celda de un control Table. Las celdas de cada fila están almacenadas en la colección Cells de TableRow que representa la fila. Para manipular el contenido de una celda, use la propiedad Text. Esta clase permite controlar cómo se muestra el contenido de la celda. Al establecer el valor de las propiedades HorizontalAlign y VerticalAlign, se especifica la alineación horizontal y vertical, respectivamente, del contenido de la celda. Se
puede usar la propiedad Wrap para especificar si el contenido de la celda continúa automáticamente en la siguiente línea cuando alcanza el final de la celda. Se puede especificar asimismo el número de filas o columnas que ocupa una celda en el control Table. Las propiedades RowSpan y ColumnSpan controlan el número de filas y columnas, respectivamente, que se utilizan. Precaución El texto no contiene código HTML antes de mostrarse en el control TableCell. Esto permite incrustar una secuencia de comandos en las etiquetas HTML del texto. Si los valores del control provienen de la entrada del usuario, asegúrese de validar los valores para ayudar a evitar puntos vulnerables en la seguridad. Para obtener más información sobre los eventos y propiedades del control de servidor Web TableCell, consulte la documentación referente a la clase TableCell. Ejemplo En el siguiente ejemplo de código se muestra cómo crear una tabla, agregar elementos a la tabla mediante programación y mostrar la tabla en la página Web. Observe cómo se crea una instancia de los controles TableCell y se establecen sus valores de propiedad. C# private void Page_Load(object sender, System.EventArgs e) { // Create a TableItemStyle object that can be // set as the default style for all cells // in the table. TableItemStyle tableStyle = new TableItemStyle(); tableStyle.HorizontalAlign = HorizontalAlign.Center; tableStyle.VerticalAlign = VerticalAlign.Middle; tableStyle.Width = Unit.Pixel(100); // Create more rows for the table. for (int i = 2; i < 10; i++) { TableRow tempRow = new TableRow(); for (int j = 0; j < 3; j++) { TableCell tempCell = new TableCell(); tempCell.Text = "(" + i + "," + j + ")"; tempRow.Cells.Add(tempCell); } Table1.Rows.Add(tempRow); } // Apply the TableItemStyle to all rows in the table. foreach (TableRow r in Table1.Rows) foreach (TableCell c in r.Cells)
c.ApplyStyle(tableStyle); // Create a header for the table. TableHeaderCell header = new TableHeaderCell(); header.RowSpan = 1; header.ColumnSpan = 3; header.Text = "Table of (x,y) Values"; header.Font.Bold = true; header.BackColor = Color.Gray; header.HorizontalAlign = HorizontalAlign.Center; header.VerticalAlign = VerticalAlign.Middle; // Add the header to a new row. TableRow headerRow = new TableRow(); headerRow.Cells.Add(header); // Add the header row to the table. Table1.Rows.AddAt(0, headerRow); } TableCell Example
Sintaxis declarativa del control de servidor Web TableRow Representa una programación.
fila
del
control
Table
y
permite
manipularlo
Comentarios Una instancia de la clase TableRow representa una fila de un control Table. Las filas de una tabla se almacenan en la colección Rows del control Table. Esta clase permite controlar cómo se muestra el contenido de la fila. Al establecer las propiedades HorizontalAlign y VerticalAlign se especifican las alineaciones horizontal y vertical, respectivamente, del contenido de la fila. Las celdas de una fila (representadas por instancias de la clase TableCell) se almacenan en la colección Cells de la TableRow que representa la fila. Puede administrar las celdas de la fila mediante programación utilizando la colección Cells. Para obtener más detalles sobre las propiedades y eventos del control de servidor Web TableRow, vea la información relativa a la clase TableRow. Ejemplo En el ejemplo siguiente se muestra cómo utilizar un objeto TableRow para agregar una fila a un control Table. C# private void Page_Load(object sender, System.EventArgs e) { // Create a TableItemStyle object that can be // set as the default style for all cells // in the table. TableItemStyle tableStyle = new TableItemStyle(); tableStyle.HorizontalAlign = HorizontalAlign.Center;
tableStyle.VerticalAlign = VerticalAlign.Middle; tableStyle.Width = Unit.Pixel(100); // Create more rows for the table. for (int i = 2; i < 10; i++) { TableRow tempRow = new TableRow(); for (int j = 0; j < 3; j++) { TableCell tempCell = new TableCell(); tempCell.Text = "(" + i + "," + j + ")"; tempRow.Cells.Add(tempCell); } Table1.Rows.Add(tempRow); } // Apply the TableItemStyle to all rows in the table. foreach (TableRow r in Table1.Rows) foreach (TableCell c in r.Cells) c.ApplyStyle(tableStyle); // Create a header for the table. TableHeaderCell header = new TableHeaderCell(); header.RowSpan = 1; header.ColumnSpan = 3; header.Text = "Table of (x,y) Values"; header.Font.Bold = true; header.BackColor = Color.Gray; header.HorizontalAlign = HorizontalAlign.Center; header.VerticalAlign = VerticalAlign.Middle; // Add the header to a new row. TableRow headerRow = new TableRow(); headerRow.Cells.Add(header); // Add the header row to the table. Table1.Rows.AddAt(0, headerRow); } TableCell Example
Sintaxis declarativa del control de servidor Web TextBox Crea cuadros de texto de una y varias líneas. Comentarios El control de servidor TextBox es un control de entrada que permite al usuario escribir texto. De manera predeterminada, el valor de la propiedad TextMode se establece en SingleLine, de modo que se crea un cuadro de texto con una sola línea. El valor de la propiedad también puede establecerse en MultiLine o Password. MultiLine crea un cuadro de texto con varias líneas. Password crea un cuadro de texto de una sola línea que oculte el valor especificado por el usuario. El ancho del cuadro de texto viene determinado por su propiedad Columns. Si se trata de un cuadro de texto de varias líneas, su alto lo determina la propiedad Rows. Utilice la propiedad Text para determinar el contenido del control TextBox. Para limitar el número de caracteres que se pueden escribir en el control, establezca el valor de la propiedad MaxLength. Establezca el valor de la propiedad Wrap en true para especificar que el contenido de la celda debe continuar automáticamente en la siguiente línea cuando alcanza el final del cuadro de texto. Para obtener más información sobre los eventos y propiedades del control de servidor Web TextBox, consulte la documentación referente a la clase TextBox. Ejemplo En el ejemplo siguiente se muestra cómo declarar un control TextBox en un archivo .aspx. El control es un cuadro de texto de varias líneas que muestra un máximo de diez líneas. El texto tiene el formato de fuente Arial si el explorador admite fuentes para los controles. C#
Sintaxis declarativa del control de servidor Web TreeView Muestra datos jerárquicos, como una tabla de contenido, en una estructura de árbol. Comentarios El control TreeView se utiliza para mostrar datos jerárquicos, como una tabla de contenido o un directorio de archivos, en una estructura de árbol y admite las siguientes características: • • • • • •
Compatibilidad con enlace de datos que permite enlazar los nodos del control a datos XML, de tablas o relacionales. Compatibilidad con la exploración del sitio a través de la integración con el control SiteMapDataSource. El texto del nodo se puede mostrar como texto sin formato o como hipervínculos. Acceso mediante programación al modelo de objetos TreeView para crear árboles, rellenar nodos, definir propiedades, etc., de forma dinámica. Población de nodos del cliente (en exploradores compatibles). Capacidad para mostrar una casilla de verificación junto a cada nodo.
•
Capacidad de personalizar el aspecto mediante temas, imágenes definidas por el usuario y estilos.
Para obtener más información sobre el control TreeView, vea TreeView (Control de servidor Web). Ejemplo El ejemplo de código siguiente muestra cómo enlazar el control TreeView a un origen de datos XML. C#
Sintaxis declarativa del control de servidor Web View Representa un control que actúa como un contenedor para un grupo de controles dentro de un control MultiView. Comentarios El control View es un contenedor para un grupo de controles. Un control View siempre debe estar incluido dentro de un control MultiView. Sólo un control View a la vez puede definirse como la vista activa dentro de un control MultiView. Para obtener más información sobre cómo utilizar los controles View y MultiView, vea MultiView y View (Controles de servidor Web). Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar el control MultiView para crear una encuesta básica. Cada control View es una pregunta independiente de la encuesta. Cuando el usuario hace clic en el botón Anterior en cualquier página, la propiedad ActiveViewIndex se decrementa para desplazarse al control View anterior. Cuando el usuario hace clic en el botón Siguiente en cualquier página, la propiedad ActiveViewIndex se incrementa para desplazarse al siguiente control View. C# protected void NextButton_Command(object sender, EventArgs e) { // Determine which button was clicked // and set the ActiveViewIndex property to // the view selected by the user. if (DevPollMultiView.ActiveViewIndex > -1 & DevPollMultiView.ActiveViewIndex < 3) { // Increment the ActiveViewIndex property
// by one to advance to the next view. DevPollMultiView.ActiveViewIndex += 1; } else if (DevPollMultiView.ActiveViewIndex == 3) { // This is the final view. // The user wants to save the survey results. // Insert code here to save survey results. // Disable the navigation buttons. Page4Save.Enabled = false; Page4Restart.Enabled = false; } else { throw new Exception("An error occurred."); } } protected void BackButton_Command(object sender, EventArgs e) { if (DevPollMultiView.ActiveViewIndex > 0 & DevPollMultiView.ActiveViewIndex Comentarios Puede utilizar el control Wizard para llevar a cabo las tareas siguientes: • • •
Recopilar datos relacionados de varios pasos. Dividir una página Web de mayor tamaño que se utiliza para recopilar datos proporcionados por los usuarios en pasos lógicos menores. Permitir la exploración lineal o no lineal a través de los pasos.
El control Wizard consta de los siguientes componentes: • • • •
Una colección de pasos WizardStepCollection que contiene la interfaz de usuario para cada paso, según la definición del desarrollador de páginas. Funciones de desplazamiento integradas que determinan los botones que se deben mostrar a partir del valor de StepType. Un área de encabezado que se puede personalizar para que muestre información específica del paso en que se encuentra el usuario. Un área de barra lateral que se puede utilizar para desplazarse rápidamente a los pasos del control.
Para obtener más información sobre el control Wizard, vea Wizard (Control de servidor Web). Ejemplo En el siguiente ejemplo de código se muestra cómo se define el control Wizard mediante declaración. El asistente tiene dos pasos y las plantillas de propiedades StartNavigationTemplate y FinishNavigationTemplate están definidas. Visual Basic C#
Sintaxis declarativa del control de servidor Web Xml Muestra un documento XML o los resultados de una transformación XSL. Comentarios Use el control Xml para mostrar el contenido de un documento XML o los resultados de una transformación XSL. Para especificar el documento XML que se va a mostrar, establezca una de las tres propiedades que figuran a continuación. Estas tres propiedades representan los distintos tipos de documento XML que se pueden mostrar. Puede mostrar XmlDocument, una cadena XML o un archivo XML estableciendo la propiedad adecuada. En la siguiente tabla se recogen las propiedades para especificar el documento XML. Propiedad
Descripción
Document
Establece el documento XmlDocument.
XML
mediante
un
objeto
Establece el documento XML mediante una cadena.
DocumentContent
DocumentSource
Nota Esta propiedad suele establecerse de manera declarativa colocando texto entre las etiquetas de apertura y de cierre del control Xml. Establece el documento XML mediante un archivo.
Nota Se debe establecer al menos una de las propiedades de documento XML; de lo contrario, no se mostrará ningún documento XML. Si se establece más de una propiedad de documento XML, se mostrará el documento XML de la última propiedad establecida. Se omitirán los documentos de las demás propiedades. De manera opcional, se puede especificar un documento de transformación XSL que da formato al documento XML antes de que se escriba éste en la secuencia de salida estableciendo una de las dos propiedades que figuran a continuación. Las dos propiedades representan los diferentes tipos de documento de transformación XSL que se pueden utilizar para dar formato al documento XML. Puede dar formato al documento XML con XslTransform o con un archivo de transformación XSL
estableciendo la propiedad adecuada. Si no se especifica ningún documento de transformación XSL, se mostrará el documento XML con el formato predeterminado. En la siguiente tabla se recogen las propiedades para especificar un documento de transformación XSL. Propiedad
Descripción
Transform
Da formato al documento XslTransform especificado.
TransformSource
Da formato al documento XML mediante el archivo de transformación XSL especificado.
XML
utilizando
el
objeto
Nota El documento de transformación XSL es opcional. No es preciso establecer la propiedad Transform o TransformSource. Si se establecen ambas propiedades de documento de transformación XSL, la última propiedad establecida determina qué documento de transformación XSL se utilizará para dar formato al documento XML. Se omitirá la otra propiedad. La clase Xml proporciona asimismo la propiedad TransformArgumentList, que permite proporcionar argumentos opcionales a la transformación XSL. Los argumentos pueden ser parámetros XSLT u objetos de extensión. Ejemplo En el siguiente ejemplo se muestra un archivo XML. Joe Suits 1800 Success Way Redmond WA 98052 CEO Wears the nice suit Linda Sue 1302 American St. Paso Robles CA 93447
Attorney Stands up for justice Jeremy Boards 34 Palm Avenue Waikiki HI 98052 Pro Surfer Rides the big waves Joan Page 700 Webmaster Road Redmond WA 98073 Web Site Developer Writes the pretty pages En el siguiente ejemplo se muestra un archivo de transformación XSL.
version="1.0"
,
Job Title: Description:
En el siguiente ejemplo se muestra cómo usar el control Xml para mostrar el archivo XML de ejemplo mediante el archivo de transformación XSL de ejemplo. Asegúrese de que el archivo XML de ejemplo se denomine People.xml y el archivo de transformación XSL de ejemplo se denomine Peopletable.xsl. Xml Example
En el siguiente ejemplo se muestra cómo crear los objetos XmlDocument y XslTransform a partir de los archivos XML y de transformación XSL de ejemplo. A continuación, el control Xml utiliza los objetos para mostrar el documento XML. Asegúrese de que el archivo XML de ejemplo se denomine People.xml y el archivo de transformación XSL de ejemplo se denomine Peopletable.xsl. C# void Page_Load(Object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("people.xml")); XslTransform trans = new XslTransform(); trans.Load(Server.MapPath("peopletable.xsl")); xml1.Document = doc; xml1.Transform = trans; } Xml Example
Sintaxis declarativa del control de servidor Web XmlDataSource Representa un origen de datos XML para controles enlazados a datos. string string Comentarios El control XmlDataSource es un control de origen de datos que representa datos XML para controles enlazados a datos. Los controles enlazados a datos pueden utilizar el control XmlDataSource para mostrar tanto datos jerárquicos como tabulares. El control XmlDataSource se suele utilizar para mostrar datos XML jerárquicos en escenarios de sólo lectura. Dado que el control XmlDataSource extiende la clase HierarchicalDataSourceControl, funciona con datos jerárquicos. El control de origen de datos también implementa la interfaz IDataSource y funciona con datos tabulares, o de estilo de lista. Para obtener más información sobre XmlDataSource (Control de servidor Web).
el
control
XmlDataSource,
vea
Ejemplo En el ejemplo siguiente se muestra cómo enlazar el control TreeView a un control XmlDataSource con datos XML que se definen con la propiedad Data. C#
Sintaxis declarativa de los controles de servidor Web de inicio de sesión Proporciona los elementos de la interfaz de usuario para iniciar sesión en un sitio Web. Comentarios El control Login es un control compuesto que proporciona todos los elementos habituales de interfaz de usuario necesarios para autenticar a un usuario en un sitio Web. Para obtener más información sobre cómo utilizar el control Login así como otros controles de inicio de sesión, vea Controles ASP.NET de inicio de sesión. Ejemplo En el ejemplo de código siguiente se muestra cómo utilizar un control Login para proporcionar una interfaz de usuario para iniciar sesión en un sitio Web. C#