他の更新パネルのいくつかのコントロールがバインドされている値を変更するコードがあります。このイベント ハンドラーが起動したら、他の更新パネルも強制的に更新して再バインドできるようにしたいと考えています。
これは可能ですか?
編集:
明確にするために、1 つのユーザー コントロールに更新パネルがあり、他の更新パネルは他のユーザー コントロールにあるため、いくつかのカスタム プロパティを公開して findControl などを使用しない限り、それらは互いに表示されません。
再度編集:
これが私が思いついたものです:
public void Update()
{
recursiveUpdate(this);
}
private void recursiveUpdate(Control control)
{
foreach (Control c in control.Controls)
{
if (c is UpdatePanel)
{
((UpdatePanel)c).Update();
}
if (c.HasControls())
{
recursiveUpdate(c);
}
}
}
更新パネルでいっぱいの 3 つのメイン ユーザー コントロールがありました。これらのコントロールはメイン ページに表示されていたので、これら 3 つの Update を呼び出す Update メソッドをそこに追加しました。
私のトリガー コントロールでは、this.Page を currentpage にキャストし、Update を呼び出しました。
編集:
あぁぁぁぁぁぁぁぁぁぁぁぁぁ!
更新パネルが更新されている間、それらのサブコントロール内で Page_Load が呼び出されません...どうすればよいでしょうか!