자리 표시 자 및 버튼이있는 asp.net 페이지가 있습니다. 버튼을 클릭 한 후 여러 개의 LinkButton이 제 자리 표시 자에 나타나기를 원하며, 특정 LinkButton의 click_event에 연결되도록 specyfic 핸들러를 원합니다.asp.net dynamic linkButtons 클릭 이벤트 문제
protected void Button_Click(object sender, EventArgs e)
{
for(...)
{
LinkButton l = new LinkButton();
l.ID = "link" + i;
l.Command += new CommandEventHandler(link_Command);
PlaceHolder1.Controls.Add(l);
}
}
void link_Command(object sender, CommandEventArgs e)
{
PlaceHolder1.Controls.Clear();
Label l = new Label();
l.Text = e.CommandArgument.ToString();
PlaceHolder1.Controls.Add(l);
}
LinkButtons는 볼 수 있지만, 그 이벤트가 발생하지 않습니다 여기에
는 코드입니다. 어떻게 해결해야합니까? Button_Click 이벤트 내에 LinkButton을 생성해야하는데, 그 이유는 생성 할 버튼의 수를 알 수 있기 때문입니다. 도와주세요.
ViewStat을 사용하면 많은 도움이됩니다. 감사합니다. 다른 문제가 있습니다. UpdatePanel에 PlaceHolder가 있고 asyncPostback에 해당 LinkButton을 추가하고 싶습니다. Page_Load (링크를 다시 생성 한 곳)를 호출해야합니까? 그렇지 않다면 어디에서 링크를 다시 만들고 Click_handler를 추가 할 수 있습니까? – Richmond
편집 : 나는 모든 게시물에 Page_Load가 호출된다는 것을 알았습니다. 하지만 내 placeHolder (UpdatePanel 내부)에서이 코드가 작동하지 않는 부분 포스트 백을 수행하는 이유는 무엇입니까? 문자열 cos = (문자열) ViewState [ "cos"]; 레이블 l2 = 새 레이블(); l2.Text = "<"+ cos + ">"; PlaceHolder1.Controls.Add (l2); ViewState.Clear(); – Richmond
다른 질문 일 수 있습니까? LinkButton 대신 여기에 레이블을 추가합니다. 코드의 어느 부분이 작동하지 않습니까? 추가되지 않습니까? –