我有一個父控件具有HiddenField子控件的實例。我使用CreateChildControls()來添加它。一切都在客戶端運行,包括添加到該字段的值。然而,在回傳時,參考字段爲空隱藏字段不從視圖狀態加載回父內自定義控件內
這裏是代碼
protected override void CreateChildControls()
{
assignedListField = new HiddenField();
assignedListField.ID = ClientID + "_HiddenAssignedList";
assignedListField.EnableViewState = true;
Controls.Add(assignedListField);
base.CreateChildControls();
}
public IList<DlpItem> GetAssignedItems()
{
//assignedListField = FindControl(ClientID + "_HiddenUnassignedList") as HiddenField;
var TmpAssignedItems = new List<DlpItem>();
var list = assignedListField.Value;
var items = list.Split(new string[] { "#" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var item in items)
{
var mix = item.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var text = mix[0];
var id = int.Parse(mix[1]);
TmpAssignedItems.Add(new DlpItem(text, id));
}
return TmpAssignedItems;
}
我試圖單純依靠ViewState的...然後也使用的FindControl()嘗試。它們都不起作用,它作爲一個空引用出現......關於這裏發生了什麼的任何輸入?
愚蠢的錯誤。我忘了打電話EnsureChildControls()...我想我已經在我的代碼中有。那是修復。謝謝= D – 2011-01-10 19:22:00