向 asp.NET RadioButton 控件添加自定义属性
Posted
技术标签:
【中文标题】向 asp.NET RadioButton 控件添加自定义属性【英文标题】:Adding custom attributes to asp.NET RadioButton control 【发布时间】:2011-04-16 05:14:42 【问题描述】:我想向名为Key
的asp.net RadioButton 添加一个自定义属性,我将其用于客户端的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");
Why does ASP.Net RadioButton and CheckBox render inside a Span?
【讨论】:
是的,这对 RadioButton 有帮助,但对 RadioButtonList 没有帮助。 我已经编写网络表单 10 年了,现在才发现这个属性。哇。 这很有趣。我有一个用于文本输入的用户控件,根本不需要这样做,只需使用Attribute
而不是 InputAttribute
以上是关于向 asp.NET RadioButton 控件添加自定义属性的主要内容,如果未能解决你的问题,请参考以下文章
asp.net(C#)怎样将listview中的radiobutton设置成互斥?
asp.net用button_click事件重置页面 使页面上选择过的checkbox和radiobutton控件清空呢
asp.net中repeater控件里使用一组radiobutton为啥设置了相同groupname还是一组按钮都能选中