Sintaxis declarativa del control de servidor HtmlGenericControl
Actualización: noviembre 2007
Crea un control de servidor que se asigna a un elemento HTML que no está representado en una clase específica de .NET Framework, como <body> y <div>.
<span | body | div | font | others
EnableViewState="False|True"
ID="string"
OnDataBinding="OnDataBinding event handler"
OnDisposed="OnDisposed"
OnInit="OnInit event handler"
OnLoad="OnLoad event handler"
OnPreRender="OnPreRender event handler"
OnServerClick="OnServerClick event handler"
OnUnload="OnUnload event handler"
runat="server"
Visible="False|True" >
contentBetweenTags
</span | body | div | font | others>
Comentarios
Este control se crea en el servidor en respuesta a las etiquetas que incluyen el par de atributo y valor runat="server" en elementos que no se asignan directamente a un control HTML específico. Entre estos elementos se incluyen <span>, <body>, <div> y <font>. El control asigna el nombre de etiqueta del elemento específico que se utiliza como control HTML a ASP.NET mediante la propiedad TagName. Este control hereda la funcionalidad de la clase HtmlContainerControl, que permite cambiar dinámicamente el contenido interno de las etiquetas de controles HTML.
Se puede utilizar un elemento <span> del servidor para mostrar el texto generado por el código del controlador de eventos, ya sea a través de los datos proporcionados por el usuario o del origen designado en el controlador de eventos. También se puede utilizar el evento Page_Load para generar texto en un control span y atributos de estilo HTML para dar formato al texto cuando se muestra en el explorador.
Ejemplo
En el siguiente ejemplo se muestra cómo generar texto para mostrarlo basándose en los datos proporcionados por el usuario en un control HtmlInputText. HtmlGenericControl, que se crea al declarar el elemento <span> en la página, proporciona el elemento <span> con acceso a la propiedad InnerHtml. Esto permite manipular la cadena de texto asignada al elemento <span>.
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
Sub SubmitBtn_Click(Source As Object, e As EventArgs)
MySpan.InnerHtml = "Welcome to ASP.NET, " & myText.Value & "."
End Sub
</script>
</head>
<body>
<form id="myForm" runat="server">
<br />
Enter your name here:
<input type="text" id="myText" runat="server" />
<br /><br />
<input id="Submit1" type="submit" value="Click Here!"
onserverclick="SubmitBtn_Click" runat="server" />
<br /><br />
<b><span id="MySpan" runat="server"/></b>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
void SubmitBtn_Click(object Source, EventArgs e)
{
MySpan.InnerHtml = "Welcome to ASP.NET, " + myText.Value + ".";
}
</script>
</head>
<body>
<form id="myForm" runat="server">
<br />Enter your name here:
<input type="text" id="myText" runat="server" />
<br /><br />
<input id="Submit1" type="submit" value="Click Here!"
onserverclick="SubmitBtn_Click" runat="server" />
<br /><br />
<b><span id="MySpan" runat="server"/></b>
</form>
</body>
</html>
En el siguiente ejemplo se muestra cómo utilizar HtmlGenericControl para permitir a los usuarios modificar el color de fondo de una página. También se muestra cómo utilizar la clase AttributeCollection para obtener acceso mediante programación a los atributos declarados en cualquier control HTML.
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
Sub SubmitBtn_Click(Source As Object, e As EventArgs)
Body.Attributes("bgcolor") = ColorSelect.Value
End Sub
</script>
</head>
<body id="Body" runat="server">
<h3>Updating Styles with the HtmlGenericControl</h3>
<form id="Form1" runat="server">
<br />
Select a background color for the page: <br />
<select id="ColorSelect" runat="server">
<option>White</option>
<option>Wheat</option>
<option>Gainsboro</option>
<option>LemonChiffon</option>
</select>
<input id="Submit1" type="submit" runat="server"
value="Apply" onserverclick="SubmitBtn_Click" />
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlGenericControl Control</title>
<script runat="server">
void SubmitBtn_Click(object Source, EventArgs e)
{
Body.Attributes["bgcolor"] = ColorSelect.Value;
}
</script>
</head>
<body id="Body" runat="server">
<h3>Updating Styles with the HtmlGenericControl</h3>
<form id="Form1" runat="server">
<br />
Select a background color for the page: <br />
<select id="ColorSelect" runat="server">
<option>White</option>
<option>Wheat</option>
<option>Gainsboro</option>
<option>LemonChiffon</option>
</select>
<input id="Submit1" type="submit" runat="server"
value="Apply" onserverclick="SubmitBtn_Click" />
</form>
</body>
</html>