asp.Netでオブジェクトイベントの処理方法を動的に呼び出すにはどうすればいいですか?

2921 ワード

     gridview,         onpageindexchanging      ?

              。 

補足:
回答ありがとうございます.
上は例を挙げただけで、私はページを分けたいのではなく、イベント依頼で指定された方法を動的に呼び出したいだけで、反射に関連しているはずですが、関連する方法は見つかりませんでした.例えばtextboxがあり、ontextchangeで指定された方法が何なのか分かりませんが、この方法を呼び出したいのですが、イベント依頼のパラメータが固定されているので、この考えは実行可能なはずですが、具体的な方法は分かりません.
=====================================================================
//
イベントコンテナを定義します.継承したクラスがあれば、定義する必要はありません.
        
private
 EventHandlerList _events;        
protected
 EventHandlerList Events        {            
get
            {                
if
 (_events 
==
 
null
)                {                    _events 
=
 
new
 EventHandlerList();                }                
return
 _events;            }        }
//
クラスで、委任を定義します.
public
 
delegate
 
void
 MyHandler(
object
 sender, Event e);
//
イベントのKEYの定義
private
 
static
 
readonly
 
object
 MyObj 
=
 
new
 
object
();
//
この依頼を使用して、イベントを定義します.
        
public
 
event
 MyHandler MyEvent        {            add            {                Events.AddHandler(MyObj, value);            }            remove            {                Events.RemoveHandler(MyObj, value);            }        }
//
イベントの使用方法
        
private
 
void
 OnMyMethodHandler(Event e)        {            MyHandler handler 
=
 (MyHandler)Events[MyObj];            
if
 (handler 
!=
 
null
)            {                handler(
this
, e);            }        }
public
 
void
 MyMethod2(){
//
あなたが使うところでこの方法を調整します.
    OnMyMethodHandler(Event.Empty);}
//
これはあなたが指定した方法を知らないことですb他の人が使っているかもしれません.
public
 
void
 b(
object
 sender,Event e){}
//
他の人がこのように使う
//
もしあなたがclass Aなら
A a 
=
 
new
 A();a.MyEvent
+=
new
 MyHandler(b);
//
MyMethod 2を実行するとbが実行されます
//
bがどの値を返すかを望む場合は、Eventを自分で定義し、eを通じてbとの情報を交流することができます.
====================================================================
フロント:


バックグラウンド:
public viod aa(object sender, GridViewPageEventArgs e){
GridView1.PageIndex = e.NewPageIndex;
}
または
フロント:


バックグラウンド
protected void Page_Load(object sender, EventArgs e){
GridView1.PageIndexChanging += new GridViewPageEventHandler(aa);
}
public viod aa(object sender, GridViewPageEventArgs e){
GridView1.PageIndex = e.NewPageIndex;
}