我有一个通过DataSource填充的CheckBoxList(每个都有来自数据库的值,所以我不能对其中的任何内容进行硬编码),我需要在右侧添加一个按钮以获取详细信息。触发某个事件时CheckBoxList的特定项目。
我能这样做吗?如何?
答案 0 :(得分:1)
CheckBoxList
中的每个项目都是ListItem
个对象。这些不会从Control
继承,因此它们没有自己的ControlCollection属性。这意味着您无法将LinkButton或Button
添加到项目中。
如果它基于Control
对象,您就可以挂钩OnDataBound
的{{1}}事件,并遍历这些项目,直到找到一个需要按钮。从那里,您可以将控件(按钮)添加到单个项目的CheckBoxList
集合中。但是你对ListItem的限制非常有限,因为它没有这个功能。
细节按钮有什么作用?如果它只是一个客户端按钮,你可以将html注入到item.Controls
的Text属性中,虽然我还没有验证这个有效:
ListItem
无论哪种方式它都不会很漂亮,你最好创建一个简单的用户控件。在控件中,您仍然可以使用CheckBoxList,但您可以动态地向UserControl添加HyperLink或Buttons。您可以使用CSS或其他方法在正确的位置布置按钮。
答案 1 :(得分:0)
如果你想这样做,你必须编写一个自定义用户控件。