0

ユーザー コントロールのページ ロードが完了した後で、子ページ (.aspx) からメソッドを呼び出す方法があれば教えてください。

現在、ユーザー コントロールの変数に値がまだ割り当てられていないため、子ページから値を取得できないという問題があります。

簡単に言えば

私の.ASPXファイルから

Page_Load(object sender, EventArgs e)
{
 x = getValueFromUserControl();
}

私のユーザーコントロールから

Page_Load(object sender, EventArgs e)
{ 
int x = getvalueFromDatabase();
}

getValueFromuserControl()
{
return x;
}

ASP.NET ライフ サイクルは子ページ (.aspx) の page_load -> ユーザー コントロールの page_load に進むため、x の値を取得できません。

とは言っても、理想的には、ユーザーコントロールが他のページで使用されているため、子ページに関数を配置してユーザーコントロールから呼び出したくありません。

つまり、ユーザー コントロールの page_load が終了した後、.aspx ページからメソッドを呼び出したいと思います。

4

1 に答える 1

0

後のページ イベントで値を取得します。

protected override void OnLoadComplete(EventArgs e) {
   x = getValueFromUserControl();
}

もちろん、Page_Load で値を取得しなければならない特別な理由がない限りは。これを処理するためのおそらくより適切な方法は他にもありますが、x とは何か、それをどうする必要があるかを知らなければ、他のアドバイスを与えることは困難です。たとえば、UserControl は、ページによって処理されるイベントを発生させる必要があります。

于 2015-04-28T02:45:12.727 に答える