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 中,此时控件已创建,但视图状态尚未注入其中。

在此处查看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 回答