5
Protected Sub Menu1_MenuItemClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs) Handles Menu1.MenuItemClick


End Sub

VB.netには、Handlesキーワードがありますが、C#に同等のものがあるかどうか疑問に思っています。または、すべてのメソッドを各コントロールのイベントに手動で接続する必要がありますか(特にASP.NETの場合)?

4

5 に答える 5

10

いいえ。このようにイベントを配線する必要があります

Menu1.MenuItemClick += Menu1_MenuItemClick;
于 2011-05-25T20:58:23.840 に答える
3

+=構文を使用して、自分でイベントを割り当てる必要があります。

于 2011-05-25T20:58:46.717 に答える
3

C#でハンドラーをセットアップするのは非常に簡単です。私のオプションでは、VB.Netよりもはるかに簡単です。ハンドラーがページ内で起動するのに十分早い段階でセットアップされていることを確認する必要があります。オブジェクト名(Menu1)を入力するだけです。(イベントの名前)「+=」とタブを2回押します。VisualStuidoがすべてを生成します。

于 2011-05-25T21:03:05.297 に答える
1

通常、これはマークアップで正しく行われます。

<asp:Menu ID="Menu1" runat="server" onmenuitemclick="Menu1_MenuItemClick"></asp:Menu>

コードビハインドでは次のようになります

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{

}

これらはすべて、デザイナーからVisualStudioで生成できます。メニューコントロールを選択し、プロパティウィンドウ(f4)に移動し、イベントリスト(稲妻)を表示して、イベント名をダブルクリックします。

でイベントハンドラーを手動でサブスクライブすることもでき+=ますが、ページが読み込まれるたびにサブスクライブする必要があります。

于 2011-05-25T21:05:44.290 に答える
0

そうしてもかまわない場合は、AutoEventWireUpをいつでも「true」に設定できます。次に、C#はイベントハンドラーを「VB」名で自動的にバインドします。

于 2011-08-01T21:22:24.267 に答える