簡體   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