2010-09-23 84 views
9

我想自定義屬性添加到一個asp.net單選稱爲Key這我使用的客戶端進行Ajax請求。添加自定義屬性asp.NET單選按鈕控制

什麼我發現的是,這是下面我的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文本框控件,它的工作原理就像我所期待的克拉只需添加Key="myKey"屬性到<input type="text"/>元件。

有沒有解決的辦法與標準的單選按鈕控制,否則我將不得不從一個標準繼承來實現我想要的標記?

而且......(不好意思問在同一時間兩個問題),則增加非標準屬性的HTML標記反正一個壞主意?目前,我以下列方式使用JavaScript中這些屬性:

var key = rdoPost.Key; 

回答

17

我從提問/回答下面找到,這樣做最簡單的方法是通過代碼隱藏使用InputAttributes屬性,如下所示:

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

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

+1

是的,這是單選按鈕幫助,但不是單選按鈕列表。 – 2016-01-18 20:24:21

+0

我一直在編碼的WebForms像10年,剛纔發現這個屬性。哇。 – mlhDev 2016-04-08 18:51:47