나는 C#에서 동적 링크 버튼을 생성 중입니다. 그 중 하나를 클릭하면 다른 기능이 호출되어 어떤 링크 버튼이 클릭되었는지 보여줍니다. 그러나 클릭 할 때 호출되지 않습니다 어떤 링크 버튼의.링크 버튼의 클릭 기능이 호출되지 않습니다
이것은 어떻게 생성하는지입니다.
Int32 i; //create a integer variable
for (i = 1; i <= 10; i++) // will generate 10 LinkButton
{
LinkButton lb = new LinkButton(); //create instance of LinkButton
lb.Text = Convert.ToString(i) + ""; //LinkButton Text
lb.ID = Convert.ToString(i); // LinkButton ID’s
lb.CommandArgument = Convert.ToString(i); // LinkButton CommandArgument
lb.CommandName = Convert.ToString(i); // LinkButton CommanName
lb.OnClientClick+= new CommandEventHandler(lb_Command); //Create Handler for it.
//type lb.Command += and press double time Tab Key it will generat the lb_Command() code
PlaceHolder1.Controls.Add(lb); // Adding the LinkButton in PlaceHolder
}
이것은 기능 코드입니다.
void lb_Command(object sender, CommandEventArgs e)
{
Label1.Text = e.CommandName; // will display the which Linkbutton clicked
Label1.Text = "aaaa";
// Response.Redirect(“LnkBtn.aspx?val=” + Label1.Text); // you can also use as QueryString to send values to another page
}
도움을주십시오.
감사합니다.
if(!Postback)
체크하지 않고, 거기에 코드를 이동하지만 이벤트가 원 ofr를 당신이 모든의하는 OnInit() 단계에서 그 버튼을 다시 작성하고 있는지 다시 게시 할 수 있도록 어쨌든 일하기 위해서는 페이지 수명주기에 일찌감치 유선 연결이 필요합니다. –나는 그것을 page_load의 if (! IsPostBack) 이벤트 안에 생성하고있다. 링크 버튼을 클릭하면 모든 링크 버튼이 사라집니다. – user1627138
@ user1627138 페이지 수명주기에서 버튼을 일찍 만들지는 않습니다. 뷰 상태에 저장되지 않으므로 서버를 다시 게시 할 때 버튼이 있다는 것을 기억하지 못합니다. Eoin이 말했듯이, 여러분은'OnInit' 이벤트에 컨트롤을 추가 할 필요가 있습니다. 그리고 여러분은'! IsPostBack'뿐만 아니라 모든 단일 페이지로드시 컨트롤을 할 필요가 있습니다. – Servy