サーチ…


構文

  • プライベートvoid EventName(オブジェクト送信者、EventArgs e);

パラメーター

パラメータ詳細
オブジェクト送信者送信者は、イベントハンドラを起動したイベントを呼び出したオブジェクトを参照します。これは、同じイベントハンドラを使用するオブジェクトが多数ある場合に便利です。
EventArgs e EventArgsは、ダミーの基本クラスのようなものです。それ自体では、多かれ少なかれ無駄ですが、それから派生すれば、イベントハンドラに渡す必要のあるデータを追加できます。

アプリケーションイベントとセッションイベント

最も重要なアプリケーションイベントは次のとおりです。

Application_Start - アプリケーション/ Webサイトの起動時に発生します。

Application_End - アプリケーション/ウェブサイトが停止すると発生します。

同様に、最もよく使用されるセッションイベントは次のとおりです。

Session_Start - ユーザーが最初にアプリケーションからページを要求すると発生します。

Session_End - セッションが終了すると発生します。

ページおよびコントロールイベント

一般的なページおよびコントロールのイベントは次のとおりです。

DataBinding - コントロールがデータソースにバインドされるときに発生します。

Disposed - ページまたはコントロールが解放されると発生します。

エラー - ページイベントです。未処理の例外がスローされたときに発生します。

Init - ページまたはコントロールが初期化されるときに発生します。

Load - ページまたはコントロールがロードされるときに発生します。

PreRender - ページまたはコントロールをレンダリングするときに発生します。

アンロード - ページまたはコントロールがメモリからアンロードされるときに発生します。

デフォルトのイベント

PageオブジェクトのデフォルトイベントはLoadイベントです。同様に、すべてのコントロールにデフォルトイベントがあります。たとえば、ボタンコントロールの既定のイベントはClickイベントです。

デフォルトのイベントハンドラは、デザインビューでコントロールをダブルクリックするだけで、Visual Studioで作成できます。次の表に、一般的なコントロールの既定のイベントの一部を示します。

コントロールデフォルトイベント
AdRotator AdCreated
BulletedList クリック
ボタンクリック
カレンダー SelectionChanged
CheckBox CheckedChanged
CheckBoxList SelectedIndexChanged
DataGrid SelectedIndexChanged
データリスト SelectedIndexChanged
ドロップダウンリスト SelectedIndexChanged
ハイパーリンククリック
ImageButton クリック
ImageMap クリック
LinkBut​​ton クリック
リストボックス SelectedIndexChanged
メニューMenuItem クリック
ラジオボタン CheckedChanged
RadioButtonList SelectedIndexChanged

この例では、ラベルコントロールとボタンコントロールを持つ単純なページが含まれています。 Page_Load、Page_Init、Page_PreRenderなどのページイベントが発生すると、ラベルコントロールによって表示されるメッセージが送信されます。ボタンがクリックされると、Button_Clickイベントが発生し、ラベルに表示されるメッセージも送信されます。

新しいウェブサイトを作成し、ラベルコントロールとボタンコントロールをコントロールツールボックスからドラッグします。プロパティウィンドウを使用して、コントロールのIDを.lblmessageとして設定します。と.btnclick。それぞれ、 ButtonコントロールのTextプロパティを 'Click'として設定します。

マークアップファイル(.aspx):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
   Inherits="eventdemo._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

   <head runat="server">
      <title>Untitled Page</title>
   </head>
   
   <body>
      <form id="form1" runat="server">
         <div>
            <asp:Label ID="lblmessage" runat="server" >
            
            </asp:Label>
            
            <br />
            <br />
            <br />
            
            <asp:Button ID="btnclick" runat="server" Text="Click" onclick="btnclick_Click" />
         </div>
      </form>
   </body>
   
</html>

コードビューのファイルに移動するには、デザインビューをダブルクリックします。 Page_Loadイベントは、コードなしで自動的に作成されます。次のように自明のコード行を書き留めます。

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

namespace eventdemo {

   public partial class _Default : System.Web.UI.Page {
   
      protected void Page_Load(object sender, EventArgs e) {
         lblmessage.Text += "Page load event handled. <br />";
         
         if (Page.IsPostBack) {
            lblmessage.Text += "Page post back event handled.<br/>";
         }
      }
      
      protected void Page_Init(object sender, EventArgs e) {
         lblmessage.Text += "Page initialization event handled.<br/>";
      }
      
      protected void Page_PreRender(object sender, EventArgs e) {
         lblmessage.Text += "Page prerender event handled. <br/>";
      }
      
      protected void btnclick_Click(object sender, EventArgs e) {
         lblmessage.Text += "Button click event handled. <br/>";
      }
       }
    }

ページを実行します。ラベルには、ページの読み込み、ページの初期化、ページのプリレンダリングのイベントが表示されます。効果を確認するには、ボタンをクリックしてください:

ここに画像の説明を入力



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow