Repository navigation
OTR_PLayerWebForms
nishi_74322014 edited this page Oct 27, 2026
·
1 revision
-
TOP > 使い方 > P層(ASP.NET Web Forms)の実装
- P層(ASP.NET Web Forms)
- P層(ASP.NET MVC)
- P層(Windows Forms)
Web Forms の画面コードクラス(.aspx.cs)の実装。net48 のみ(Web Forms は .NET(Core)に無い)。
- 画面コードクラスは
MyBaseController(親クラス2)を継承し、UOC_メソッドだけを書く。 -
イベントは、コントロール名の接頭辞で自動結線される。
.aspxにOnClickを書かない。
| 階層 | クラス | 修正 |
|---|---|---|
| 画面コード親クラス1 |
BaseController(System.Web.UI.Page を継承) |
不可(フレームワーク) |
| 画面コード親クラス2 | MyBaseController |
不可(プロジェクトの基盤) |
| 画面コードクラス |
MyBaseController の派生 |
可 |
CMN が付くものは親クラス2 の共通処理、付かないものが画面コードクラスの担当。
| UOC メソッド | 担当 | 内容 |
|---|---|---|
UOC_CMNFormInit / UOC_CMNFormInit_PostBack
|
親クラス2 | 全画面共通の初期処理 |
UOC_PreAction / UOC_AfterAction / UOC_Finally
|
親クラス2 | イベント処理の前後 |
UOC_Screen_Transition / UOC_ABEND
|
親クラス2 | 画面遷移の方法、例外処理 |
UOC_FormInit / UOC_FormInit_PostBack
|
画面コードクラス | 初回ロード・ポストバック時の初期処理(使わなくても空で実装する) |
UOC_(コントロール名)_(イベント名) |
画面コードクラス | 各コントロールのイベント処理 |
<cc1:WebCustomButton ID="btnSearch" runat="server" Text="検索" /> <%-- OnClick は書かない --%>// URL を返すと画面遷移、空文字を返すとポストバック
protected string UOC_btnSearch_Click(FxEventArgs fxEventArgs)
{
// 引数クラスを生成して B 層を呼ぶ(B層(業務ロジック層)の実装 を参照)
return "";
}| 設定キー(サンプルの値) | コントロール | イベント名 |
|---|---|---|
FxPrefixOfButton(btn)/ FxPrefixOfLinkButton(lbn)/ FxPrefixOfImageButton(ibn) |
ボタン類 | Click |
FxPrefixOfTextBox(txt) |
テキストボックス | TextChanged |
FxPrefixOfDropDownList(ddl)/ FxPrefixOfListBox(lbx) |
リスト類 | SelectedIndexChanged |
FxPrefixOfRadioButton(rbn)/ FxPrefixOfCheckBox(cbx) |
ラジオ・チェック | CheckedChanged |
FxPrefixOfGridView(gvw) |
グリッドビュー |
RowCommand / RowUpdating / PageIndexChanging / Sorting ほか |
- 接頭辞は設定(
appSettings)で決まる。接頭辞は命名規約ではなく機能で、外れた名前を付けるとイベントが発火しない。 - マスタページ上のコントロールは
UOC_(マスタページ名)_(コントロール名)_(イベント名)。 - UOC メソッドは
publicかprotected(private不可。レイトバインドで呼ばれる)。 - 対応外のコントロール・イベントは .NET 標準のイベント処理でも書けるが、フレームワークの例外処理とログを通らない。
ダイアログ・子画面・不正操作防止を使うなら、マスタページ(BaseMasterController の派生)に、
フレームワークが使う隠しフィールド一式(RequestTicketGuid、ScreenGuid、WindowGuid など)と、配布物の JavaScript・CSS が必要である。
| メンバ | 内容 |
|---|---|
this.UserInfo |
ユーザ情報(MyUserInfo) |
this.ContentPageFileNoEx |
コンテンツページのファイル名(拡張子なし)。引数クラスの画面名に使う |
this.GetMasterWebControl(ID) |
マスタページ上のコントロールを取得する |
this.FxSessionAbandon() |
セッションを消去する |
画面遷移制御、不正操作防止(二重送信防止を含む)、ブラウザ・ウィンドウ別の Session 領域、ダイアログ表示。
- スキル
opentouryo-layer-p-webforms-screen/opentouryo-layer-p-webforms-event/opentouryo-p-call-businessを使わせる。 - 新規ファイルの csproj への登録と
designer.csの生成は、エージェントの文脈では漏れやすい(スキルに手順がある)。 - エージェントは
.aspxにOnClickを書きがちなので、レビューで確認する。
Tags: 再構築
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。