Compartir por


Control.ClientID Propiedad

Definición

Obtiene el identificador de control para el marcado HTML generado 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

Identificador de control para el marcado HTML generado por ASP.NET.

Atributos

Ejemplos

En los ejemplos siguientes se muestra un control de usuario web que se encuentra 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 en el 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 parte de una página web, es imposible saber con antelación 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 acceder 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 whiteen :

span#ProductIDLabel { background-color: white; }

ASP.NET proporciona varios algoritmos para generar el valor de propiedad ClientID . Seleccione el algoritmo que se va a usar para un control estableciendo su ClientIDMode propiedad. Los algoritmos se identifican mediante los ClientIDMode valores de enumeración que se enumeran en la tabla siguiente.

Importancia Descripción
AutoID El ClientID valor se genera mediante la concatenación de los ID valores de cada contenedor de nomenclatura primario con el ID valor del control. En escenarios de enlace de datos en los que se representan varias instancias de un control, se inserta un valor de incremento delante del valor del ID control. Cada segmento está separado por un carácter de subrayado (_). Este algoritmo se usó en versiones de ASP.NET anteriores a ASP.NET 4.
Static El ClientID valor se establece en el valor de la ID propiedad . Si el control es un contenedor de nomenclatura, el control se usa como la parte superior de la jerarquía de contenedores de nomenclatura para los controles que contiene.
Predictable Este algoritmo se usa para los controles que están en controles enlazados a datos. El ClientID valor se genera mediante la concatenación del ClientID valor del contenedor de nomenclatura principal con el ID valor del control. Si el control es un control enlazado a datos que genera varias filas, el valor del campo de datos especificado en la ClientIDRowSuffix propiedad se agrega al final. Para el GridView control, 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. Cada segmento está separado por un carácter de subrayado (_).
Inherit El control hereda la ClientIDMode configuración de su NamingContainer control.

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 en AutoID en el archivo Web.config).

Para obtener más información, consulte ASP.NET Identificación del control de servidor web.

Se aplica a

Consulte también