HiddenField 자식 컨트롤의 인스턴스가있는 부모 컨트롤이 있습니다. CreateChildControls()를 사용하여 추가하고 있습니다. 모든 것은 필드에 추가되는 값을 포함하여 클라이언트 측에서 작동합니다. 그러나 포스트 백에 필드에 대한 참조가숨겨진 필드가 부모 사용자 지정 컨트롤 내에서 포스트 상태에서 뷰 상태에서로드되지 않는다
널 여기 코드 나는 단지의 ViewState에 의존 시도
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;
}
입니다 ... 다음도()의 FindControl를 사용하려고했습니다. 어느 쪽도 작동하지 않습니다, 그것은 null 참조로 올 것입니다 ... 여기에 무슨 일이 일어날 지에 대한 어떤 의견입니까?
어리석은 실수. EnsureChildControls()를 호출하는 것을 잊어 버렸습니다 ... 저는 이미 제 코드에서 그렇게 생각했습니다. 그게 해결책이었습니다. 감사 = D –