Control.ClientIDMode Propiedad

Definición

Obtiene o establece el algoritmo que se utiliza para generar el valor de la propiedad ClientID.

public:
 virtual property System::Web::UI::ClientIDMode ClientIDMode { System::Web::UI::ClientIDMode get(); void set(System::Web::UI::ClientIDMode value); };
[System.Web.UI.Themeable(false)]
public virtual System.Web.UI.ClientIDMode ClientIDMode { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.ClientIDMode : System.Web.UI.ClientIDMode with get, set
Public Overridable Property ClientIDMode As ClientIDMode

Valor de propiedad

Valor que indica cómo se genera la propiedad ClientID. De manera predeterminada, es Inherit.

Atributos

Ejemplos

En el ejemplo siguiente se muestran Label los controles contenidos en un ListView control . En el ListView control , la ClientIDMode propiedad se establece Predictable en y la ClientIDRowSuffix propiedad se establece en ProductID. En el HTML representado, esto crea tres span elementos que corresponden a tres ProductIDLabel controles. Cuando se ejecuta la página, los id atributos de los span elementos se establecen en los valores siguientes:

  • ListView1_ProductIDLabel_1
  • ListView1_ProductIDLabel_34
  • ListView1_ProductIDLabel_43
<asp:XmlDataSource ID="XmlDataSource1" runat="server" 
                   XPath="Products/Product">
  <Data>
    <Products>
      <Product ProductID="1"  ProductName="Chai" />
      <Product ProductID="34" ProductName="Ale" />
      <Product ProductID="43" ProductName="Coffee" />
    </Products>
  </Data>
</asp:XmlDataSource>

<asp:ListView ID="ListView1" 
              ClientIDMode="Predictable" 
              ClientIDRowSuffix="ProductID"  
              DataSourceID="XmlDataSource1" runat="server" >
  <ItemTemplate>
    ProductID: 
    <asp:Label ID="ProductIDLabel" runat="server" 
               Text='<%# Eval("ProductID") %>' />
    <br />
    ProductName:
    <asp:Label ID="ProductNameLabel" runat="server" 
               Text='<%# Eval("ProductName") %>' />
    <br />
    <br />
  </ItemTemplate>

  <LayoutTemplate>
    <div ID="itemPlaceholderContainer" runat="server">
      <span ID="itemPlaceholder" runat="server" />
    </div>
    <div>
    </div>
  </LayoutTemplate>
  
</asp:ListView>

Comentarios

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.

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. Este número comienza en cero y se incrementa en 1 para cada fila. 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