Добавление пользовательских атрибутов в элемент управления asp.NET RadioButton - PullRequest
11 голосов
/ 23 сентября 2010

Я хочу добавить пользовательский атрибут в RadioButton asp.net с именем Key, который я использую на стороне клиента для запроса ajax.

Я обнаружил, что моя разметка aspx выглядит следующим образом:

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

отображается на странице как

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

тогда как я ожидал (и надеялся) получить следующее

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

Я пробовал то же самое с элементом управления asp TextBox, и он работает точно так же, как и при простом добавлении атрибута Key="myKey" в элемент <input type="text"/>.

Есть ли способ обойти это с помощью стандартного элемента управления RadioButton, или мне придется наследовать от стандартного элемента управления, чтобы получить нужную разметку?

Также ... (извините, чтобы задавать два вопроса одновременно), добавление нестандартных атрибутов в разметку html в любом случае является плохой идеей? В настоящее время я использую эти атрибуты в JavaScript следующим образом:

var key = rdoPost.Key;

1 Ответ

18 голосов
/ 23 сентября 2010

Из приведенного ниже вопроса / ответа я обнаружил, что самый простой способ сделать это с помощью кода с помощью свойства InputAttributes:

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

Почему ASP.Net RadioButton и CheckBox рендерится внутри Span?

...