2012-04-13 47 views
2

我是一个VB项目转换为C#,我注意到,在VB中它会调用像一个函数:asp.net的onclick事件控制

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中那样的功能,而无需在源页面中添加上面的行?

+0

都能跟得上:http://www.velocityreviews.com/forums/ t367616-使用,手柄-VB-VS-c.html – mellamokb 2012-04-13 16:12:13

回答

1

VB的句柄关键字没有等价物。

您可以在代码中做背后,如果你想,当页面初始化

public Default() { 

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

默认为网页构造。

0

一般来说,IDE将为您处理大部分这些问题。如果在Visual Studio设计器中向窗体添加一个按钮,然后双击该按钮,它会将您带到代码中该控件的事件处理程序(本例中的点击事件)。

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

您会注意到您所在的文件不包含将此方法附加到控件事件的代码。 Visual Studio将表单分割为一个包含代码和包含自动生成的接线代码的生成类的分部类。在Solution Explorer中,看起来像这样:

Form1.cs中 - >你会添加代码以 Form1.Designer.cs文件 - >自动生成的设计文件

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

所以回答你的问题是否定的,与你很少曾经有添加或看到这个代码的警告:

this.Wizard.NextButtonClick += WZTestResult_NextButtonClick;