2013-07-15 2 views
-1

나는 사용자 정의 컨트롤을 만들었지 만 사용자 정의 컨트롤은 중요하지 않습니다.버튼을 클릭 할 때 사용자 정의 컨트롤 추가하기

또한 버튼 컨트롤이 있는데 내 목표는 버튼을 클릭 할 때 캘린더 (사용자 정의 컨트롤)를 페이지에 추가하는 것입니다. 페이지의 캘린더 수는 제한이 없으며 하나의 캘린더 만 페이지에 추가하고 싶지는 않습니다.

protected void addCalendar_Click(object sender, EventArgs e) 
{ 
    // clicked on button, should add the user control. 
} 

사용자 제어 페이지에 이미 등록되어

<%@ Register src="CalendarUserControl.ascx" tagname="CalendarUserControl" tagprefix="uc" %> 
각 캘린더 (이 DIV가 영문 페이지에 정의) 다음 DIV 추가되어야

:

<div id="calendars-holder"> 
    // first calendar appended 
    // second calendar appended 
    // and so on.. 
</div> 
+1

코드를 게시하고 시도한 것을 보여 주거나 설명하십시오. –

+0

나는 그걸하는 법을 모른다. 실제로, 나는 그것이 정말로 간단하다라고 생각한다. 그러나 나는 그것에 대한 구문을 모른다. 액션은 새로운 사용자 정의 컨트롤을 DOM (또는 div 요소)에 추가해야합니다. – Luis

+0

그리고 질문을 적어주세요. 지금까지 우리에게 사실을 알려주었지만 우리가 원하는 것을 명확하게 밝히지 않았습니다. \ – logixologist

답변

0
protected int countCalendars; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (ViewState["countCalendars"] != null) 
     countCalendars = (int) ViewState["countCalendars"]; 

    // init 
    if (!IsPostBack) 
     countCalendars = 0; 

    // register existing user-controls; won't occur before onclick button 
    // so ViewState["countCalendar"] will be exist. 
    for (int i = 0; i < countCalendars; i++) 
     addCalendar(i); 
} 

// onclick button 
protected void addCalender_Click(object sender, EventArgs e) 
{ 
    addCalendar(countCalendars++); 
    ViewState["countCalendars"] = countCalendars; 
} 

// Adding a new User-Control 
protected void addCalendar(int idNumber) 
{ 
    CalculatorUserControl Calendar = LoadControl("~/CalendarUserControl.ascx") as CalendarUserControl; 
    Calendar.ID = "CalculatorUserControl" + idNumber.ToString(); 
    PlaceHolder1.Controls.Add(Calendar); 
} 
관련 문제