2010-09-23 25 views
9

Quiero agregar un atributo personalizado a un RadioButton asp.net llamado Key que estoy usando del lado del cliente para una solicitud ajax.Agregar atributos personalizados al control asp.NET RadioButton

Lo que estoy encontrando es que mi marcado aspx que es la siguiente:

<asp:RadioButton ID="rdoPost" GroupName=PreferredContactMethod" value="Post" onclick="DoStuff(this)" runat="server" /> 

se representa en la página como

<span Key="ContactMethod"> 
    <input id="rdoPost" type="radio" name="PreferredContactMethod"" value="Post" onclick="DoStuff(this);" /> 
</span> 

mientras que lo que esperaba (y espera) para obtener el siguiente

<input id="rdoPost" type="radio" Key="ContactMethod" name="PreferredContactMethod"" value="Post" onclick="DoStuff(this);" /> 

He intentado lo mismo con un control asp TextBox y funciona exactamente como lo esperaba Simplemente agregando el atributo Key="myKey" al elemento <input type="text"/>.

¿Hay alguna forma de evitar esto con el control RadioButton estándar, o tendré que heredar del estándar para lograr el marcado que estoy esperando?

Además ... (lo siento, hacer dos preguntas al mismo tiempo), ¿agregar una mala idea a los atributos no estándar de una marca html? Actualmente estoy usando estos atributos en JavaScript de la siguiente manera:

var key = rdoPost.Key; 

Respuesta

17

que he encontrado de la pregunta/respuesta a continuación que la forma más sencilla de hacerlo es a través del uso de código subyacente de la propiedad de la siguiente manera InputAttributes :

rdoPost.InputAttributes.Add("class", "myCheckBoxClass"); 

Why does ASP.Net RadioButton and CheckBox render inside a Span?

+1

Sí, esto es útil para RadioButton, pero no RadioButtonList. –

+0

He estado codificando formularios web por 10 años y acabo de encontrar este atributo. Guau. – mlhDev

Cuestiones relacionadas