【问题标题】:Handling Multiple OnClick Events with One Method用一种方法处理多个 OnClick 事件
【发布时间】:2013-07-08 22:25:52
【问题描述】:

我创建了一个包含以下控件的 Web 表单:

        

请注意,有 12 个按钮,它们基本上都做同样的事情。是否有可能有一个方法(不是十二个)来处理他们的OnClick 事件?

【问题讨论】:

  • 是的,这是可能的。创建事件处理程序并让所有控件在OnClick 上调用它。
  • 当然可以,但是代码中的变化很小(+ vs - 等)。我如何解决那些使用object senderEventArgs e 的人?
  • 可以使用 lambdas 并传入你自己的修饰符:mySubtractButton.OnClick += (sender, args) => HandleClick(sender, args, Operation.Subtract),或者连接到一个小的包装器方法:myAddButton.Click += (sender, args) => Add(sender, args);
  • 您应该发布几个当前 OnClick 实现的代码。

标签: c# asp.net webforms boilerplate redundancy


【解决方案1】:

是的,只是在事件的对象发件人部分中,您将发件人解析为文本框并获取发件人的 ID,以便知道要做什么。

【讨论】:

    猜你喜欢
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多