親ページで何かに影響を与える必要がある子 .ASCX コントロールがある場合、親ページで何かを更新する必要がある場合に、イベント フローをどのように処理すればよいか完全にはわかりません。
私がいつもやっていることは、'Pre_Render' イベント ハンドラーにロジックを入れることです。
これは、子の .ascx コントロールが処理された後に処理されるため、ASPX ページを表示する前に正しくレンダリングすることができます。私はこれが良いデザインだとは思わず、そうしなければならないときはいつもうんざりしてきました. でも今はスタックオーバーフローがあるから、やっと聞ける!
たとえば、ページに「ログイン コントロール」ascx コントロールがあるとします。含まれているページでは、「現在ログインしているユーザー」のヘッダー バーにテキスト ラベルが表示されます。
「ログイン」ボタンをクリックすると、認証がトリガーされ、ユーザーがログインするとします。問題は、親ページのテキスト ラベルが既に「ユーザーがログインしていません」としてレンダリングされていることです。それは良くないね!
ロジックを「PreRender」に入れることで、ユーザーがログインした後にレンダリングされます。PreRender の目的ではないため、これは好きではありません。
ここで私が見逃しているベストプラクティスは何ですか? ユーザーコントロールにイベントハンドラーを配置できることはわかっていますが、結合が多すぎるため、それも扱いにくいようです。
PS。これを例として使用しているだけです。私は何度もこの問題を抱えていたので、ログインの実装方法を教えて返信しないでください!