[英]Get reference to a dropdownbox with c# at Page PreRender
我想在加載過程中從背后的C#代碼向我的aspx頁面上的下拉框添加選項。 我不知道如何獲得對該控件的引用。 我有一些用戶更改下拉框時觸發的C#代碼。 在那我得到了對下拉菜單的引用:
DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find("ID");
但是如果我嘗試的話那是行不通的
protected void Page_PreRender(object sender, EventArgs e)
{
在我的aspx.cs上
我想念什么? 謝謝。
如果您希望從回發時的viewstate中自動選擇下拉菜單中的所選項目,則需要在觸發Page_PreLoad時在下拉菜單中具有所有項目。 為此,您需要將代碼放入Page_Init中,此時已創建控件,但尚未將viewstate注入控件中。
在此處查看ASP.NET頁面生命周期概述,以獲取有關頁面生命周期的信息。
我看到您的下拉列表位於父容器中,如果無法找到對控件的引用,則可能需要在使用Find()之前調用info.EnsureChildControls()。
PreRender即將到頁面生命周期的盡頭。 您確定要在此進行更改嗎? 聽起來好像您應該在初始綁定或更改其選擇時更改下拉菜單中的項目。
http://codebetter.com/blogs//images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.