2012-02-20 15 views
2

私はasp.net Webフォームに戻ってきました。私はコントロールについて質問がありました。 コントロールを宣言的に(つまり、ツールボックスからコントロールをドラッグ・アンド・ドロップして)追加すると、たとえばaspxページにボタンが表示され、ボタンオブジェクトがdesigner.csファイルで宣言され、 代わりに私が見つけることができるすべてはAsp.netは宣言的にコントロールを追加します。インスタンス化される場所はどこですか?

protected global::System.Web.UI.WebControls.Button ButtonTest; 

ですが、どこにも私は新しいボタンオブジェクトを作成し、ButtonTestに割り当てたコードを見つけることができません。誰が知っていますか?

+1

コードの周囲にフレームワーク全体が動作しています。これらは要求ライフサイクルのある時点で作成されますが、厳密にはあまり重要ではありません。 –

+0

ああありがとう。私はコードがそこにあったと思っていたし、間違った場所でそれを探していただけだった – x1886x

答えて

4

これは、あなたが記述した行に沿って動作していましたが、これは.NET 1.1日後です。部分クラスの導入により、そのアプローチは単純化されました。通常、生成されたコードと直接対話する必要はありません。

あなたはフレームワークがやっている正確に何を参照したい場合は、次のマークアップは、ページ上のオブジェクトの宣言が含まれている部分クラスにコンパイルされます、コンストラクタの呼び出しと一緒に、など

Visual Studioから自動生成されたコードを簡単に表示することはできません。 、それを参照して、プロジェクトのデバッグを有効にして、で見て:

C:\ WINDOWS \ Microsoft.NET \ Frameworkの\ v4.0.30319 \ ASP.NETの一時ファイル\

コンパイルされたファイルのソースコードがすべきをそこのサブディレクトリの1つにいてください。

ページに小さなコンパイルエラーを作成してブラウザで表示しようとすると、エラーページの下部に「コンパイルソース」が表示されるはずです。

関連する問題