#asp.net Webフォームアプリでの画面作成基本知識
##プロジェクトの作成手順
Visual Studioで、「新しいプロジェクトの作成」をクリック。
→ASP.NET Webアプリケーション(.NET Framework)を選択。
→Webフォームを選択。
ソリューションエクスプローラの任意のフォルダで右クリック。
↓
追加
↓
新しい項目
↓
Webフォーム
↓
追加 と操作する。
ソリューションエクスプローラを見ると、
.aspx
.aspx.cs
.aspx.designer.cs
の3種類のファイルが生成されている。
##それぞれのファイルの役割
##.aspファイル
◆.htmlに相当するファイル。
◆aspタグという独特のタグを使用して画面作成を行う。
<asp:Button>
<asp:Label>
<asp:GridView>
<asp:TextBox>
<asp:DropDownList>等である。
◆ファイル先頭の<%@ Page>(Pageディレクティブ)内のCodeBehindもしくはCodeFileに、
対応するaspx.csファイル名を指定する。
◆デザイン(GUI)とソース(CUI)、両方から編集することができる。
※Visual Studio for Macには、「デザイン」はないようである。
※「デザイン」での見え方と実際のブラウザでの見え方は異なる(主に表示位置)ため、ブラウザでの確認が必要である。
##.aspx.csファイル
◆.aspxファイルで記述された画面の初期化やレンダリング、配置されたボタンのクリックイベント処理を書くファイル。
◆void Page_Load(object sender, EventArgs e)が初期化メソッドである。
◆aspxで<asp:Button OnClick="Btn_Click">と記述されていれば、
クリックイベントで、void Btn_Click(Object sender, EventArgs e) メソッド内に書かれた処理が実行される。
ただし、ボタンクリックの場合であっても、まずは必ずPage_Loadが実行され、その後にBtn_Clickが実行される点に注意。
##.aspx.designer.csファイル
◆フィールド専用のファイル。
◆.aspx.csファイルで「runat="server"」と書かれたタグのID名が、このファイルにフィールドとして自動で追加される。
※ただし、GridView内のタグは、runat="server"としても追加されない。
◆.aspx.csと.aspx.designer.csは、クラス名が同じであることからわかる通り、一つのクラスである。
しかし、後者は前者の編集に伴い自動的にIDEの方で生成・更新されるため、
プログラマが敢えて編集することはない。というより、編集するのは好ましくはない
(編集するのは、マージミスの場合など、ごく一部のレアケースである)。
partial修飾子をつけているため、1つのクラスを二つのファイルに分割し、
プログラマが不必要な箇所を編集することがないようにしている設計と思われる。
##ファイル移動用ショートカット
.aspxを開いた状態で「F7」を押すと、対応する.aspx.csが開く。
.aspx.csを開いた状態で「shift+F7」を押すと、対応する.aspxが開く。
「shift+F7」を繰り返すと、「デザイン」と「ソース」が交互に表示される。