マスターページ、フォームページ、フォームrunat = server>マスターページのすべてのオンクリックメソッド?

StackOverflow https://stackoverflow.com/questions/2889851

質問

私が抱えている問題は、私が複数のネストされたマスターページを持っていることです:

  • レベル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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top