【问题标题】:Is it possible to put another element (button) inside a Checkboxlist Item?是否可以在 Checkboxlist Item 中放置另一个元素(按钮)?
【发布时间】:2009-12-09 18:33:52
【问题描述】:

我有一个通过 DataSource 填充的 CheckBoxList(每个 CheckBoxList 的值都来自数据库,因此我无法在其中硬编码任何内容),我需要在右侧添加一个按钮以获取详细信息触发某些事件时 CheckBoxList 的特定项。

我可以这样做吗?怎么样?

【问题讨论】:

    标签: c# .net asp.net visual-studio-2008 asp.net-ajax


    【解决方案1】:

    CheckBoxList 中的每个项目都是一个ListItem 对象。这些不继承自Control,因此它们没有自己的ControlCollection 属性。这意味着您不能将 LinkBut​​ton 或 Button 添加到项目中。

    如果它基于Control 对象,您将能够挂钩CheckBoxListOnDataBound 事件,并遍历项目,直到找到需要按钮的项目。从那里您可以将控件(按钮)添加到单个项目的item.Controls 集合中。但是 ListItem 将受到很大限制,因为它没有此功能。

    详情按钮有什么作用?如果它只是一个客户端按钮,您也许可以将 html 注入到 ListItem 的 Text 属性中,尽管我还没有验证它是否有效:

    foreach (ListItem item in myCheckBoxList)
    {
         item.Text += "&nbsp;<input type=\"button\"/>";
    }
    

    无论哪种方式,它都不会很漂亮,您可能会更好地创建一个简单的用户控件。在控件中,您仍然可以使用 CheckBoxList,但您可以动态地将 HyperLink 或按钮添加到 UserControl。您可以使用 CSS 或其他方式将按钮布置在正确的位置。

    【讨论】:

    【解决方案2】:

    如果你想这样做,你必须编写一个自定义用户控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2013-09-17
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多