マスターページ、フォームページ、フォームrunat = server>マスターページのすべてのオンクリックメソッド?
-
04-10-2019 - |
質問
私が抱えている問題は、私が複数のネストされたマスターページを持っていることです:
- レベル1: :グローバル(ヘッダー、フッター、ログイン、ナビゲーションなど...)
- レベル2: :特定(検索ページ、アカウントページなど...)
- レベル3: :ページ自体
今、1つのフォームだけができるので runat=server
, 、フォームをグローバルページに配置します(したがって、ログイン、フィードバックなどを処理できます...)。
このソリューションでは、レベル1マスターページでも検索などのレベル3(上記を参照)メソッドを配置する必要がありますが、これにより、このページはすべてのコードで重い(開発のため)になります。場所、単一のページのみで使用されている場所(たとえば、電子メールフォームを変更します)。
そのような方法をから委任する方法はありますか onclick
イベント(例: ChangeEMail
)レベル1(グローバルの傑作)からレベル3(単一ページ自体)まで。
さらに明確にするために:私は方法を持っている必要がありません ChangeEMail
後ろのグローバルマスターページコードでは、実際に使用する唯一のページに「移動」したいと思います。現在、グローバルマスターに参加しなければならない理由は、グローバルマスターが持っているからです form runat=server
また、ASPXごとのページごとに1つしかありません。
これにより、コードの構造が簡単になります(より論理的)。
thnx(私がそれを正しく説明したことを願っています)
検索しましたが、このケースの処理に関する一般的な情報は見つかりませんでした。通常、答えは次のとおりです。マスターページにすべての方法を持っていますが、私はそれが好きではありません。したがって、特定のページに移動する方法は素晴らしいでしょう。 thnx
編集 また、同じことの一部...一方、アクセス方法 textbox1.text
たとえば、マスターページのコンテンツページで?これのベストプラクティスはありますか?
解決
.aspx自体(レベル3)に検索ボタンとテキストボックスを配置すると、イベントハンドラーもページ(またはそのcodebehind)に移動します。フォームタグがグローバルな傑作にあることは問題ではありません(レベル1)
2番目の質問については、使用できます
var tb = this.FindControl("textbox1") as TextBox;