0

Asp.netプロジェクトで作業しており、2つのユーザーコントロールを別のascxコントロールに読み込んでいます。最初に、をロードしてcontrol1.ascxから、control2をロードします。control2.ascx内に両方をロードした後、control1のデータをリロードする関数にアクセスしたいと思います。私は次のコードでそれをやっています:

 private ASP.control1_ascx tree; 
 tree = (ASP.control1_ascx)LoadControl("control1.ascx");
 tree.aload();

コードをデバッグすると、aload()関数が呼び出され、データが更新されているようです。しかし、問題は、関数が呼び出された後はそれらを見ることができず、代わりにポストバックイベントの後に正しいデータを見ることができるということです。なぜこれが起こるのですか?関数を呼び出したときにそれらを確認するための解決策はありますか?

4

1 に答える 1

1

各ユーザー コントロールでデリゲート イベントを作成してから、これを使用してデータを再バインドしてみましたか?

あなたのユーザーコントロールで:

public delegate void RefreshRequired(object sender, any other params to pass to event method)

public event OnRefreshRequired OnRefreshRequired;

ASPX の Page_Load で

UserControl.OnRefreshRequired+= TAB TWICE;

このメソッドにコードを実装して、ユーザー コントロールのデータを更新します。

于 2012-11-06T16:30:42.210 に答える