Control.ClientIDMode 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 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.