繁体   English   中英

用于控件的asp.net OnClick事件

[英]asp.net OnClick events for controls

我正在将VB项目转换为C#,并且我注意到在vb中它将调用如下函数:

 Protected Sub WZTestResult_NextButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles WZTestResult.NextButtonClick 

处理向导的下一个按钮单击事件。

在C#中,我必须添加以下行:

 OnNextButtonClick="WZTestResult_NextButtonClick" 

在asp.net源页面上,否则它将永远不会达到该功能。 这是C#中的必要,还是我忽略或遗漏了一些东西? 基本上,在c#中是否有一种方法可以像在VB中那样实现该功能,而无需在源页面中添加以上行?

VB的Handles关键字没有等效项。

初始化页面时,可以根据需要在后面的代码中进行操作

public Default() {

    this.Init += (_o, _e) => {
         this.Wizard.NextButtonClick += WZTestResult_NextButtonClick;
    }
}

默认为页面构造函数。

一般来说,IDE将为您处理大部分此类工作。 如果在Visual Studio设计器中向表单添加按钮,然后双击该按钮,它将带您进入代码中该控件的事件处理程序(在这种情况下为click事件)。

    private void button1_Click(object sender, EventArgs e)
    {
    }

您会注意到,您所在的文件不包含将此方法附加到控件事件的代码。 Visual Studio将表单分为包含您的代码的部分类和包含自动生成的接线代码的生成的类。 在如下所示的解决方案资源管理器中:

Form1.cs->将代码添加到Form1.Designer.cs->自动生成的设计器文件的文件

您不想更改.designer.cs文件,因为在可视设计器中更改表单可能会覆盖您的更改。 您将只在Form1.cs文件中工作,甚至可能永远也看不到事件分配代码。

因此,您的问题的答案是否定的,但警告是,您几乎不必添加或查看以下代码:

this.Wizard.NextButtonClick += WZTestResult_NextButtonClick;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM