2012-06-26 4 views
1

동적으로 생성해야하는 버튼이 있지만 서버 측 메서드 btnSubmit_Click (객체 발신자, EventArgs e)을 실행하기 위해 OnClick 속성을 설정할 수 없습니다.동적으로 생성 된 asp : button의 OnClick 속성을 설정합니다.

내가 할 경우 실제로 대신 OnClientClick에 추가

btnSubmit.Attributes["OnClick"] = "btnSubmit_Click()"; 

.

btnSubmit.Click += new EventHandler(btnSubmit_Click); 

도 발생하지 않습니다.

어떻게 실제 서버 OnClick을 설정할 수 있습니까?

public Button btnSubmit; // Add the on class level as data member 

Protected void Page_PreInit(object sender, EventArgs e) 
{ 
     btnSubmit = new Button();   
     btnSubmit.Text = "Click me";   
     btnSubmit.Click +=new EventHandler(btnSubmit_Click); 
     this.form1.Controls.Add(btnSubmit); 
} 

Page_PreInit

에서

+0

Page_Init/Page_PreInit에 버튼을 만드시겠습니까? – J0HN

+0

당신은 Runat = server 태그를 사용 했습니까? – paragy

+1

@alliswell, 그는 프로그래밍 방식으로 버튼을 만들려고합니다 – Habib

답변

4

바인드 이벤트는이 이벤트를 추가합니다.

void btnSubmit_Click(object sender, EventArgs e) 
{ 
    throw new NotImplementedException(); 
} 
+0

방금 ​​시도했지만 아직 실행되지 않습니다. 나는 aspx에 단추를 만들고 각각의 셀에 복사 할 수있는 해킹으로 생각합니다. 해키하지만 작동합니다 –

+0

어디 버튼을 인스턴스? – Adil

+0

Page_Load를 시도하고 전역 적으로 시도했지만 변경 없음 –

2
btnSubmit.Click += new EventHandler(btnSubmit_Click); 

// 이벤트 핸들러

void btnSubmit_Click(object sender, EventArgs e) 
{ 
    throw new NotImplementedException(); 
} 
+0

도 언급하는 것을 잊었습니다. 절대 발사하지 마라. C# 코드에서 runat = server를 설정하는 방법이 있습니까? –

+0

정말 ?? 버튼과 이벤트 처리기를 어디에서 추가하고 있습니까? – Habib

+0

page_load 메서드 –

관련 문제