0

WebUserControls を追加するプレースホルダーがあります。WebUserControl には、onClick のあるボタンのみがあります。

<asp:Button ID="bMyButton" runat="server" OnClick="MyButtonOnClick" CausesValidation="false" />

Page_Load のページに WebUserControls を追加すると、すべて正常に動作します。問題は、 を呼び出すポストバックを実行するフィルターがいくつかあることですApplyFilters()。選択したフィルターに基づいてこのメソッドでアイテムをリロードする必要があります (フィルターの値は Page_Load イベントでまだ更新されていません) が、MyButtonOnClickこれを行ってもイベントは発生しません。ライフサイクルで。

誰でも回避策について何か考えがありますか?

psデバッグ中に何が起こっているかを説明するために例を単純化したため、多くのコードを貼り付けていません。さらに情報が必要な場合はお知らせください。

4

1 に答える 1

0

この問題を「回避」することができました。ASP.NET イベントに依存する代わりに、.NET でフィルターの値をチェックしていますRequest.Form[]。そうすれば、コントロールの検証サイクルの前にフィルターの新しい値を確認し、動的コントロールを に読み込むことができますPage_Load

私は伝統的なイベントに固執することを望んでいるので理想的ではありませんが、今のところこの問題を回避する方法は他にないと思います.

于 2012-12-19T12:26:34.680 に答える