0

ロード中に C# コード ビハインドから aspx ページのドロップダウン ボックスにオプションを追加したいと考えています。コントロールへの参照を取得する方法がわかりません。ユーザーがドロップダウン ボックスを変更したときにトリガーされる C# コードがいくつかあります。その中で、次のドロップダウンへの参照を取得します。

DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find("ID");

しかし、私がそれを試してみると、それはうまくいきません

protected void Page_PreRender(object sender, EventArgs e)
    {

私のaspx.csで

私は何が欠けていますか?ありがとう。

4

2 に答える 2

1

ドロップダウンで選択した項目をポストバック時にビューステートから自動的に選択する場合は、Page_PreLoad が起動するまでにすべての項目をドロップダウンに含める必要があります。これを行うには、コードを Page_Init に配置する必要があります。この時点で、コントロールは作成されますが、viewstate はまだそれらに挿入されていません。

ページのライフサイクルに関する情報については、 ASP.NET ページのライフサイクルの概要を参照してください。

コントロールへの参照を取得できない場合は、Find() を使用する前に info.EnsureChildControls() を呼び出す必要がある場合があります。

于 2008-12-10T00:17:18.500 に答える
0

PreRender は、ページのライフサイクルの終わりに近づいています。そこに変更を加えてもよろしいですか?ドロップダウンが最初にバインドされたとき、または選択が変更されたときに、ドロップダウンの項目を変更する必要があるようです。

http://codebetter.com/blogs//images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg

于 2008-12-10T00:03:47.713 に答える