2011-01-27 5 views
1

저는 사용자가 날짜를 입력하기 만하면 만든 간단한 UserControl을 보유하고 있습니다. 당분간 ID = "tbDate"인 하나의 Textbox가 있습니다. 동적으로이 컨트롤을 여러 번 추가하려고합니다 (예 : placeholder.Controls.Add(LoadControl())). "동일한 키가있는 항목이 이미 있습니다"라는 오류 메시지가 나타납니다. 아마도 요소의 ID를 변경할 수는 있지만 사용자가 입력 한 값을 잡는 것은 어려울 것입니다.
누구에게도 아이디어가 있습니까?동적으로 동일한 UserControl을 여러 번 추가합니다.

감사합니다.

+0

이 McArthey와 어떤 진전을 보았습니까? 나는 단지 비슷한 것을 만난다. ( – Mordy

+0

예. 나는이 대답을 업데이 트하지 못해 죄송합니다. 그러나 그 사이에 당신이 가지고있는 질문이 있으면 언제든지 저에게 연락하십시오. 그것이 결코 응답되지 않은 이유를 설명하십시오. – McArthey

답변

0

나는 내가 만든 Component 클래스의 일부로 고유 한 식별자를 생성하고 해당 값을 Control.ID로 사용합니다. 원하는 고유 한 값을 생성 할 수는 있지만 데이터베이스 테이블의 일부로 저장합니다. 결국 클래스가 인스턴스화 될 때 값은 초기화되고 응용 프로그램을 실행하는 동안 일관되므로 중요하지 않습니다.

클래스는 전용 인스턴스 변수가 있습니다

private Control _control; 

형태 (그리고, 특히, 자리) 나는이에 비슷한 일을 할 수있는 컨트롤을 추가. c은 내가 만든 클래스를 참조합니다.

string component = c.ComponentName + c.UniqueIdentifier; 
UserControl uc = (UserControl)ph.FindControl(component); 

는 희망이 도움이 : 내가 나중에에서 컨트롤을 참조 할 필요가있을 때

c.Control.ID = c.ComponentName + c.UniqueIdentifier; 
phHere.Controls.Add(c.Control); 

은 그 때 나는 기본적으로 위의 단계를 역. 질문이 있으시면 언제든지 물어보십시오. 그러나 문제의 근본 원인은 오류를 피하기 위해 Control.ID를 설정해야한다는 것입니다.

감사합니다.