设置 RadioButton 的 value 属性
Posted
技术标签:
【中文标题】设置 RadioButton 的 value 属性【英文标题】:Set value property of RadioButton 【发布时间】:2012-03-11 05:16:48 【问题描述】:我需要根据从数据库返回的数据构建单选按钮列表。每个按钮都需要有一个与之关联的值,我可以根据选定的按钮退出。
理想情况下,我只使用RadioButtonList
控件,但是,我需要有一个RadioButtonList
似乎无法处理的非常自定义的布局。
另一种方法是创建单独的RadioButton
s 并将它们包装在一个面板中以对它们进行分组。但是,RadioButton
上似乎没有 Value 属性?
是否有其他方法可以为RadioButton
控件设置值?或者,一种完全自定义RadioButtonList
输出的方法。
目前,我想我可能不得不求助于使用带有runat="server"
的 html 单选按钮,一定是更好的方法...?
【问题讨论】:
很好的解决方案,谢谢。网络表单倡导者现在在哪里... 【参考方案1】:RadioButton 控件没有 Value 属性,没错。您必须改用Checked
。
【讨论】:
是的,但 Checked 只是告诉我该字段是否已被检查。这些按钮是动态的,所以我需要存储一个关联的值。 您对“关联价值”有何看法?你想做某种绑定吗?可以设置Checked
属性,而不仅仅是读取。
我的意思是,如果我有 3 个单选按钮,每个单选按钮代表我数据库中的一行。当用户选中一个时,我需要检查哪个按钮已被选中,并将其与我的数据库中的记录相关联。所以我真的需要将 ID 与单选按钮一起存储。
您可以使用 Attributes 集合来存储此类数据,或者使用您自己的继承自 RadioButton 的控件扩展 RadioButton 类。【参考方案2】:
您可以创建自己的单选按钮类,扩展标准单选按钮类并添加一个 value 属性:
public class ValueCheckBox : System.Web.UI.WebControls.RadioButton
public string Value get; set;
【讨论】:
我喜欢这个解决方案,与 Rahul 和 Marchin 建议的 Attributes.Add 相比,使用它有什么优势吗?两者似乎都能胜任。 从长远来看,这将使 Value 属性更易于管理,以防您计划在其他地方重用该控件。我的意思是,只需比较radioButton.Attributes.Add("Key", "Value");
和 radioButton.Value = "value";
。
看起来属性应该用于发送到浏览器的 HTML 属性msdn.microsoft.com/en-us/library/…【参考方案3】:
您总是可以尝试使用属性来保存关联的值。 例如)
radioButton.Attributes.Add("Key", "Value");
将所有单选按钮的 Group 属性设置为相同,这样就可以了。请记住,如果这些单独的单选按钮位于转发器、网格视图或类似网格样式的不同行中,ASP .Net 会出现小问题。
【讨论】:
啊,忘了我可以使用 Attributes.Add。使用 Travor Pilley 扩展控制的建议有什么优势吗?两者都可以工作,在两者之间撕裂。【参考方案4】:用于一组快速而肮脏的 STATIC 单选按钮。 我使用属性窗口中的标签字段手动定义了一个值。
如果您使用的是数据库,您可能应该将数据绑定到它。您永远不知道什么时候会更改密钥或名称。
【讨论】:
以上是关于设置 RadioButton 的 value 属性的主要内容,如果未能解决你的问题,请参考以下文章
Python3 tkinter基础 Radiobutton 设置相同的value值,产生连锁效果