10

これは、VisualStudioに関するちょっとした質問です。役立つIntellisenseのすべてで、何か支援できるものがあるはずだと感じていますが、それを見つけることができないようです。

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

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

4

6 に答える 6

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

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

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

于 2009-06-25T21:30:46.070 に答える
4

非常に貴重なReSharperがインストールされていると(なくても動作する可能性があります)、次のように入力できます。

override

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

于 2009-06-25T22:13:54.563 に答える
3

何が利用できるかを確認するためのショートカットとして、いつでも「ページ」と入力できます。次に、インテリセンスのリストを確認します。次に、1つを選択し、+ =Tab Tabを押して、スタブを生成します。スタブが作成されたら、作成した場所で「Page.event+=」行を削除する必要があります。一種の厄介な回避策ですが、コツをつかめばかなり迅速に機能します。

于 2009-06-25T21:33:06.017 に答える
0

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

于 2010-08-08T17:41:16.763 に答える
0

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..
}

更新(Sahuaginによるコメントから):これは、適切な名前のイベントハンドラーを生成しません。イベントハンドラには、たとえばPage_Loadなどの名前を付ける必要があります。これにより、Pageではなくクラスにちなんで名前が付けられるため、実際にはページに接続されません。

于 2013-02-24T20:56:37.597 に答える
-1

TreeScheme.Nodes [0] .ChildNodes [0] .Checked = true;

treeviewid.node[0].childnodes[0].checked=true;

これにより、ページのページ読み込みイベントでチェックされた子ノードがtrueに設定されます

ハッピーコーディング

于 2013-08-03T08:00:26.233 に答える