2010-09-23 11 views
9

Je veux ajouter un attribut personnalisé à un asp.net RadioButton appelé Key que je suis à l'aide d'une demande ajax côté client.personnalisés Ajout d'attributs à un contrôle asp.NET RadioButton

Ce que je trouve que mon balisage ASPX qui est le suivant:

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

se rend dans la page

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

alors que je l'avais prévu (et espère) pour obtenir le suivant

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

J'ai essayé la même chose avec un contrôle de TextBox d'asp et cela fonctionne exactement comme je l'aurais expe ct ajoutant simplement l'attribut Key="myKey" à l'élément <input type="text"/>.

est-il un moyen de contourner cela avec le contrôle standard RadioButton, ou devrai-je hériter de la version standard pour obtenir le balisage je vouloir?

aussi ... (désolé de poser deux questions en même temps), est l'ajout non standard attribue à balises HTML une mauvaise idée de toute façon? Actuellement, je suis en utilisant ces attributs JavaScript de la manière suivante:

var key = rdoPost.Key; 

Répondre

17

J'ai trouvé de la question/réponse ci-dessous que la meilleure façon de le faire est par le code-behind en utilisant la propriété InputAttributes comme suit :

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

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

+1

Oui, cela est utile pour RadioButton, mais pas RadioButtonList. –

+0

J'ai été le codage webforms pour comme 10 ans et tout à l'heure ont trouvé cet attribut. Sensationnel. – mlhDev