Control.ClientID Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el id. de control para marcado HTML que se genera por ASP.NET.
public:
virtual property System::String ^ ClientID { System::String ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual string ClientID { get; }
[<System.ComponentModel.Browsable(false)>]
member this.ClientID : string
Public Overridable ReadOnly Property ClientID As String
Valor de propiedad
Id. de control para marcado HTML que se genera por ASP.NET.
- Atributos
Ejemplos
En los ejemplos siguientes se muestra un control de usuario web que está dentro de una página de contenido para una página maestra. El control de usuario contiene un DropDownList control y un Label control . El texto que se muestra en el Label control viene determinado por el valor que el usuario selecciona del DropDownList control. El valor de texto se establece a través del script de cliente para que la página web no tenga que volver a publicar en el servidor para establecer este valor. Para obtener una referencia al elemento HTML que se representa para el control en el Label script de cliente, debe conocer el valor de la propiedad del ClientID control. Sin embargo, dado que el control de usuario se puede colocar en cualquier lugar de una página web, es imposible saber de antemano qué contenedores de nomenclatura contendrán los controles. Para asegurarse de que el ClientID valor será el mismo que el ID valor, el código establece el ClientIDMode valor Staticen .
En el ejemplo siguiente se muestra el control de usuario.
<%@ Control AutoEventWireup="true" %>
<script type="text/javascript">
var seasonalSports = new Array("None selected",
"Tennis",
"Volleyball",
"Baseball",
"Skiing");
function DisplaySport(x) {
document.getElementById("SelectedSport").innerHTML
= seasonalSports[x];
}
</script>
<asp:DropDownList ID="DropDownList1" runat="server"
onchange="DisplaySport(this.selectedIndex);">
<asp:ListItem Value="Select a season"></asp:ListItem>
<asp:ListItem Value="Spring"></asp:ListItem>
<asp:ListItem Value="Summer"></asp:ListItem>
<asp:ListItem Value="Autumn"></asp:ListItem>
<asp:ListItem Value="Winter"></asp:ListItem>
</asp:DropDownList>
<br />
<asp:Label ID="SelectedSport" runat="server" ClientIDMode="Static">
</asp:Label>
En el ejemplo siguiente se muestra la página de contenido que contiene el control de usuario.
<%@ Page Title="" MasterPageFile="~/Seasons.master" AutoEventWireup="true" %>
<%@ Register Src="Seasons.ascx" TagName="Seasons" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<uc1:Seasons ID="Seasons1" runat="server" />
</asp:Content>
En el ejemplo siguiente se muestra la página maestra que contiene la página de contenido.
<%@ Master 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 runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
Comentarios
Cuando un control de servidor web se representa como un elemento HTML, el id
atributo del elemento HTML se establece en el valor de la ClientID propiedad . El ClientID valor se usa a menudo para tener acceso al elemento HTML en el script de cliente mediante el document.getElementById
método . El identificador también se usa a menudo en reglas CSS para especificar elementos al estilo. Por ejemplo, la siguiente regla de estilo CSS selecciona todos los span
elementos que tienen el id
valor de atributo de ProductIDLabel
y establece su background-color
atributo en white
:
span#ProductIDLabel { background-color: white; }
ASP.NET proporciona varios algoritmos para generar el valor de ClientID propiedad. Para seleccionar el algoritmo que se va a usar para un control, establezca su ClientIDMode propiedad . Los algoritmos se identifican mediante los ClientIDMode valores de enumeración que se enumeran en la tabla siguiente.
Value | Descripción |
---|---|
AutoID | El valor ClientID se genera mediante la concatenación de los valores ID de cada contenedor de nomenclatura primario con el valor ID del control. En escenarios de enlace de datos donde se presentan varias instancias de un control, se inserta un valor de incremento delante del valor ID del control. Un carácter de subrayado (_) separa cada segmento. Este algoritmo se usó en versiones de ASP.NET anteriores a ASP.NET 4. |
Static | El valor de ClientID se establece en el valor de la propiedad ID. Si el control es un contenedor de nomenclatura, se utiliza como la parte superior de la jerarquía de contenedores de nomenclatura para cualquier control que contenga. |
Predictable | Este algoritmo se utiliza para los controles que están en controles enlazados a datos. El valor ClientID se genera mediante la concatenación del valor ClientID del contenedor de nomenclatura primario con el valor ID del control. Si se trata de un control enlazado a datos que genera varias filas, el valor del campo de datos especificado en la propiedad ClientIDRowSuffix se agrega al final. En el caso del control GridView se pueden especificar varios campos de datos. Si la ClientIDRowSuffix propiedad está en blanco, se agrega un número secuencial al final en lugar de un valor de campo de datos. Un carácter de subrayado (_) separa cada segmento. |
Inherit | El control hereda la configuración de ClientIDMode de este control NamingContainer. |
El valor predeterminado de ClientIDMode para una página es Predictable. El valor predeterminado de ClientIDMode para un control es Inherit. Dado que el valor predeterminado para los controles es Inherit, el modo de generación predeterminado es Predictable. (Sin embargo, si usa Visual Studio para convertir un proyecto web en ASP.NET 4 de una versión anterior, Visual Studio establece automáticamente el sitio predeterminado AutoID en en el archivo Web.config).
Para obtener más información, vea Identificación de controles de formularios Web Forms.
Se aplica a
Consulte también
- NamingContainer
- ID
- INamingContainer
- identificación de control de ASP.NET
- Cómo: Acceder a controles desde JavaScript por identificador
- Tutorial: Facilitar el acceso a los controles de Data-Bound desde JavaScript
- Tutorial: Hacer que los controles ubicados en controles de usuario web sean más fáciles de acceder desde JavaScript
- Script de cliente en páginas web de ASP.NET