這真的應該更容易,所以我必須錯過一些明顯的東西。我有一個啓用AJAX的C#ASP.NET頁面。我也有一個最初爲空的ASP.NET面板,但我創建了幾個下拉列表並將它們添加到後面的代碼中。這部分工作得很好。但是,當頁面進行回發時,控件「消失」,我根本找不到它們。請注意,面板本身不在AJAX更新面板中,我只提到它,因爲我認爲它可能是一個視圖狀態問題。C#&AJAX - 動態添加控件,但在回發中找不到它們
此代碼工作得很好:
DropDownList newList = new DropDownList();
newList.ID = string.Format("lst{0}", opt.OptionName.ToString());
foreach (SaleItemOptions myOpt in opt.OptionsInList)
{
newList.Items.Add(myOpt.OptionName);
}
this.pnlOptions.Controls.Add(newList);
但這個代碼總是返回NULL
DropDownList myList = (DropDownList)this.pnlOptions.FindControl("lstSize");
我已驗證控件名的形式存在,我也用類似的變化ControlID,ID等。
此外,還有一個緩解因素在所有這些。我使用GCheckout API(Google Checkout for ASP.NET)創建回發。這真的不應該是一個問題,但認爲我會提到它
因此,我非常喜歡MVC。 – 7wp 2010-05-18 15:48:33
@Roberto,是的MVC確實讓這更容易,我建議OP在這裏看看它: http://www.asp.net/mvc/whatisaspmvc – Justin 2010-05-18 16:32:40