Skip to content

OTR_PLayerWebForms

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

P層(ASP.NET Web Forms)の実装

概要

Web Forms の画面コードクラス(.aspx.cs)の実装。net48 のみ(Web Forms は .NET(Core)に無い)。

  • 画面コードクラスは MyBaseController(親クラス2)を継承し、UOC_ メソッドだけを書く。
  • イベントは、コントロール名の接頭辞で自動結線される。 .aspx に OnClick を書かない。

詳細

実装場所

階層 クラス 修正
画面コード親クラス1 BaseController(System.Web.UI.Page を継承) 不可(フレームワーク)
画面コード親クラス2 MyBaseController 不可(プロジェクトの基盤)
画面コードクラス MyBaseController の派生 可

UOC メソッドの分担

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() セッションを消去する

Web Forms 専用の機能

画面遷移制御、不正操作防止(二重送信防止を含む)、ブラウザ・ウィンドウ別の Session 領域、ダイアログ表示。

コーディング・エージェントに任せる場合

  • スキル opentouryo-layer-p-webforms-screen / opentouryo-layer-p-webforms-event / opentouryo-p-call-business を使わせる。
  • 新規ファイルの csproj への登録と designer.cs の生成は、エージェントの文脈では漏れやすい(スキルに手順がある)。
  • エージェントは .aspx に OnClick を書きがちなので、レビューで確認する。

参考


Tags: 再構築

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki
開発基盤部会 Wiki

移行管理: DONE / TODO

Clone this wiki locally