Добавление пользовательских атрибутов asp.NET элемент управления 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 ответов


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

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

почему ASP.Net RadioButton и флажок рендеринга внутри промежутка?