インライン Visual Studio 2008でASP.NETのページイベントを追加するには




asp.net metaタグ (5)

ソースコードウィンドウのオブジェクトリストのコンボボックスから、目的のコントロール(ページ)を選択します。 次に、前のオブジェクトリストコンボボックスの右側にあるイベントリストのコンボボックスから、目的のイベントを選択します。 ビジュアルスタジオがイベントハンドラを作成します。

これは、Visual Studioの質問のビットです。 役に立ったIntellisenseに何か助けてもらえたらいいと思うが、見つけられないようだ。

私はVS2008のASP.NET C#でコードビハインドを持つページを作成しました。もちろん、PageLoadイベントメソッドを自動生成します。 さて、PageLoad以外のイベントのメソッドを追加したいのですが? 追加可能なメソッドイベントハンドラのFoo.aspxページにいくつかのリストがあると思います。 PageInit、PageDispose、(またはequiv)などのようなものはありませんか? どこでこれらを見つけることができますか?

編集 - 私はもちろん、APIのメソッド名を参照することができます。 私はVisual Studioでこれらを追加するための便利なショートカットを探しています。 それが生成された場合、それを他のものにすることはできませんか?


非常に貴重なReSharperがインストールされていると(私は作業しなくてもいいかもしれません)

override

スペースを叩くと、IntelliSenceは、OnInit、OnPreRenderなどのオーバーライドできるすべてのイベントのリストをポップアップ表示します。


M4Nで記述されているような方法ではなく、コードを使用したい場合は:

PageName.aspx.cs;

private void InitializeComponent()
{

    // this.LifeCycle += .. // Use intellisense to see alternatives easily
    this.PreRender += new System.EventHandler(this.EventFunctionName);

}

同じファイルに次の行を追加します:

private void EventFunctionName(object sender, EventArgs e)
{
    // Code..
}

UPDATE(Sahuaginによるコメントから):これは適切な名前のイベントハンドラを生成しません。 イベントハンドラには、Page_Loadなどの名前を付ける必要があります。 これは、Pageの後ではなく、クラスの後に名前をつけます。したがって、実際にあなたのページにフックされることはありません


  • ソリューションエクスプローラで、ページを右クリックし、コンテキストメニューから[コンポーネントデザイナの表示]を選択します
  • プロパティパネル/ウィンドウを開きます( F4キーを押します)
  • 今すぐ黄色の矢印/フラッシュアイコンをクリックすると、すべてのページイベントのリストが表示されます
  • ハンドラを追加するイベントをダブルクリックします。

私は確かに別の方法(デザイナーの視点から始まって)があったと確信していますが、私はそれを再現することはできません。

私は通常、ページイベントハンドラを使用せず、代わりに対応するメソッドをオーバーライドします(例: Page_Load代わりにOnLoad )。 これらのオーバーライドの1つを実装するには、コードビハインドに "override"と入力し、 スペースを押してオーバーライドできるメソッドのリストを取得するだけです。


利用可能なものを確認するためのショートカットとして、「ページ」と入力するだけで済みます。 Intellisenseのリストを見てください。 それから、1つを選んで+ Tab Tab押して、スタブを生成させることができます。 スタブが作成されたら、それを作成した場所の "Page.event + ="行を削除する必要があります。 ホッケーの回避策の種類は、一度あなたがそれをぶら下げを取得するとかなり素早く動作することができます。





code-behind