2011-08-15 7 views
1

내가 동적으로 생성하는 LinkButtonOnclick 속성을 추가해야합니다. 그것을 추가하는 방법? 나는 동적 세대 내 LinkButton에서이 lnk_Click를 호출 할 수Dynamic LinkButton에 Onclick 함수를 추가하는 방법은 무엇입니까?

foreach(string i in List)//list has more than 50 data's 
     { 
      LinkButton link = new LinkButton(); 
      link.Text = topics; 
      link.ID = topics; 
      link.Attributes.Add("runat", "server"); 
      link.Click += new EventHandler(this.lnk_Click); 
      div_ID.Controls.Add(link); 
      div_ID.Controls.Add(new LiteralControl("<br />")); 
     } 

public void lnk_Click(object sender,EventArgs e) 
{ 
    string ctrlId = ((Control)sender).ID; 
    GMethod(ctrlId); //handles some function in which i pass the id of the particular lnk button 
} 

: 여기

는 지금까지 와서 강타 코드입니다. 그 onclick 속성은 링크 버튼에 추가되지 않습니다. 이 사람들을 도와주세요. 나는 충동을 느낍니다.

+0

어떤 프로그래밍 언어를 사용합니까? –

+0

@laurent ASP.Net, C# 3.5. 서버 측에서 작동하려면 코드가 필요합니다. – Googler

+0

어떤 이벤트 중에 링크 단추를 생성합니까? 당신은 모든 포스트에서 그들을 생성하고 있습니까? 목록의 항목이 각 게시물과 동일합니까? – ShellyFM

답변

0

runat = "server"속성을 추가 할 필요가 없으므로 자동으로 수행됩니다. OnClick 이벤트 핸들러를 할당 했으므로 모든 이벤트 핸들러도 설정해야합니다.

이러한 컨트롤을 동적으로 만들었으므로 포스트 백 후에 LinkButton 컨트롤을 다시 생성 할 수있는 코드가 있어야합니다. 그렇지 않으면 이벤트 처리기가 실행되지 않습니다. 또한 다시 게시 후 동일한 ID를 다시 생성 할 때 동일한 ID를 할당해야합니다.

+0

@james .. 고맙지 만 여전히 작동하지 않습니다 .. 링크를 클릭하면 게시물이 다시 열리지 만 내 이벤트 [lnk_Click]은 호출되지 않습니다. 올바른 경로에 있습니까? mt 코드에 실수가 있습니까? Pls이 나를 도와주세요. – Googler

+0

포스트 백 후에 이러한 컨트롤을 어떻게 다시 생성하는지 보여주는 일부 코드를 게시하십시오. –

+0

나는 그것에 대해서도 문제가있다. 나는 pre_init 함수에서만 가능하다는 것을 알았다. 페이지로드 fnction에서 링크 단추를 동적으로 생성합니다. 내 동적으로 생성 된 링크를 클릭하면 포스트 백이 발생하지만 내 이벤트가 호출되지 않고 동적 링크가 다시 바인딩되지 않습니다. 제발 .. 도와주세요. – Googler

0

동적으로 생성 된 하이퍼 링크의 onClick 이벤트가 실행되지 않는 것과 동일한 문제가 발생했습니다. 하이퍼 링크를 동적으로 생성하는 코드를 "if (! IsPostBack)"내에두고 실수 할 때마다 임의의 ID를 하이퍼 링크에 할당하는 실수를 저 지르려고했습니다. 따라서 고유 한 ID를 할당하고 "if (! IsPostBack)"외부에 코드를 유지하십시오. 윌.

관련 문제