【问题标题】:Adding or attaching an OnItemCommand Event handler to ASP.NET CheckBox将 OnItemCommand 事件处理程序添加或附加到 ASP.NET CheckBox
【发布时间】:2011-10-18 09:25:16
【问题描述】:

我想知道是否可以添加或附加或扩展 asp.net 复选框以添加 OnCommand 、 CommandName 、 CommandArgument 功能。

简而言之,我想添加一个asp。 net CheckBox 的 OnCommand 功能,如 Button 或 LinkBut​​ton。

我想在 Repeater ItemTemplate 中放置一个复选框,并希望在 OnItemCommand 处理程序中处理复选框单击。

【问题讨论】:

    标签: asp.net checkbox repeater


    【解决方案1】:

    我用一个简单的技巧解决了我的问题。我使用复选框和不可见的链接按钮创建了一个 Web 用户控件。

    <asp:CheckBox ID="cbSelector" runat="server" AutoPostBack="true" />
    <asp:LinkButton ID="btnHiddenCheckBox" runat="server" Visible="false" CommandName="Select"></asp:LinkButton>
    

    在后面的代码中我添加了一些事件处理程序...

      protected void Page_Load(object sender, EventArgs e)
      {
         cbSelector.CheckedChanged += new EventHandler(cbSelector_CheckedChanged);
      }
    
      void cbSelector_CheckedChanged(object sender, EventArgs e)
      {
          btnHiddenCheckBox.CommandName = "Select";
          btnHiddenCheckBox.CommandArgument = Convert.ToString(cbSelector.Checked);
          ((IPostBackEventHandler)btnHiddenCheckBox).RaisePostBackEvent(null);
      }
    

    并以编程方式引发带有参数的 Click 事件,它可以工作。

    【讨论】:

      【解决方案2】:

      Patrik 我将向您建议一些完全不同的东西,使用 JQuery 并通过 Ajax 完成此操作,以便为用户提供更流畅的体验。

      这里有一篇不错的文章,一步一步来:ASP.Net CheckBox and JQuery

      一切都比CheckBoxButton 更好,AutoPostBack 现在在 2011 年设置为 true,2012 年很快;-)

      【讨论】:

      • 谢谢。您的解决方案还可以,但在我的情况下,我会坚持使用服务器端。我必须在中继器的 OnItemCommand 中做一些复杂的事情。
      【解决方案3】:

      同样可以使用OnCheckChanged 事件来实现。

      您可以了解RepeaterItem 是什么能够访问同一个RepeaterItem 中的控件


      或者,请参阅此SO question 以获取有关如何将OnItemCommand 用于CheckBox 的解决方案:

      Checkbox OnClick/ItemCommand in Repeater or DataList

      【讨论】:

      • 是的。我知道 OnCheckChanged 事件,但我想将所有内容放在 Repeater 的 OnItemCommand 事件处理程序中。
      • 用现有类似问题的链接更新了我的答案。您可能会发现这很有用
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 2017-04-18
      • 2016-04-29
      相关资源
      最近更新 更多