我想在加载期间从后面的c#代码向我的aspx页面上的下拉框添加选项。我不知道如何获得对控件的引用。我有一些c#代码,当用户更改下拉框时触发。在那里,我得到了对下拉列表的引用:
DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find("ID");
但如果我在
中尝试,那将无效protected void Page_PreRender(object sender, EventArgs e)
{
在我的aspx.cs上
我错过了什么?感谢。
答案 0 :(得分:1)
如果您希望在回发中从视图状态自动选择下拉列表中的所选项目,则需要在Page_PreLoad触发时将所有项目放在下拉列表中。为此,您需要将代码放在Page_Init中,此时控件已创建,但尚未将viewstate注入其中。
请查看ASP.NET Page Life Cycle Overview以获取有关页面生命周期的信息。
我看到你的下拉列表在父容器中,你可能需要在使用Find()之前调用info.EnsureChildControls(),如果它无法获得对你的控件的引用。
答案 1 :(得分:0)
PreRender即将进入页面生命周期的末尾。你确定要在那里进行更改吗?听起来你应该在最初绑定时或更改其选择时更改下拉列表中的项目。
http://codebetter.com/blogs//images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg