Sí, eche un vistazo a la interfaz IAttributeAccessor. el objeto UserControl de ASP.NET implementa explícitamente esta interfaz. Esto permite que cualquier atributo agregado directamente al control en el marcado se transfiera a la colección de atributos del lado del servidor.
Tenga en cuenta que la implementación predeterminada en UserControl no es sobresigible, pero escribe y lee desde su colección de atributos internos.Para hacer que estos atributos a HTML en el control de usuario, hacer algo como esto en el marcado:
<div runat="server" ID="pnlOutermostDiv">
// control markup goes here
</div>
a continuación en el código subyacente del control de usuario hacer algo como esto:
protected override void OnPreRender(EventArgs e)
{
foreach (string key in Attributes.Keys)
{
pnlOutermostDiv.Attributes.Add(key, Attributes[key]);
}
base.OnPreRender(e);
}
Ahora, cuando usted hace uso del control de la siguiente manera:
<my:TextBox runat="server" extraproperty="extravalue" />
va a proporcionar de esta manera:
<div id="ctl00_blablabla_blablabla" extraproperty="extravalue">
// rendered control HTML here
</div>
¿Qué aspecto tiene tu .ascx? –