【问题标题】:Reference static method for ASP.NET/C# event handlerASP.NET/C# 事件处理程序的参考静态方法
【发布时间】:2020-09-02 05:40:18
【问题描述】:

我的 ASP.NET 页面上有一个按钮,目前看起来像这样:

<asp:Button ID="Button1" Text="Click me" />

我想为按钮附加一个事件处理程序。通常情况下,它看起来像这样:

<asp:Button ID="Button1" Text="Click me" OnClick="SomeFunction" />

但是,在这种情况下,我要引用的方法是静态的;也就是说,我只能从Namespace.Class.Method而不是ClassInstance.Method调用它,当我尝试以下时,我得到一个错误:

<asp:Button ID="Button1" Text="Click me" OnClick="Namespace.Class.Method" />

那么,我怎样才能使用这个方法作为事件处理程序呢?不幸的是,我无法控制命名空间。我更喜欢使用一些 ASP.NET 技术而不是 C# 技术,因为我更熟悉 ASP.NET。

【问题讨论】:

    标签: c# asp.net static event-handling static-methods


    【解决方案1】:

    也可以在后面的代码中添加、删除和编辑事件处理程序。例如:

    asp:

    <asp:Button ID="Button1" Text="Click me" />
    

    后面的代码:

    Button1.Click += new EventHandler(Namespace.Class.Method);
    

    注意 Method 应该以 (object sender, EventArgs e) 作为其参数

    【讨论】:

      【解决方案2】:

      你可以这样运行它;

      asp.net 代码,

      <asp:Button ID="Button1" Text="Click me" OnClick="btn1_Click" />
      

      c#代码,

      private void btn1_Click(object sender, EventArgs e)
      {
         Namespace.Class.Method();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多