2011-10-24 3 views
1

프로젝트에 문제가 있습니다. 프로젝트를 보여주기 위해 링크 버튼을 동적으로 생성합니다. 프로젝트를 클릭하면 발사되고 버그의 링크 버튼을 동적으로 표시 할 수 있습니다. 이제 버그를 클릭하면 동적으로 설명을 표시하고 싶지만이 클릭 이벤트는 발생하지 않으며 해결할 수 없습니다. 이것은 내 코드입니다.Linkbutton 동적으로 클릭하십시오.

private void LoadXmlBugs(XDocument xDocument) 
    { 
     //Load all bugs 
     IEnumerable<Bugs> data = from query in xDocument.Descendants("bugs") 
           where (((string)query.Element("bug_status") == "NEW") || 
           ((string)query.Element("bug_status") == "REOPENED") || 
           ((string)query.Element("bug_status") == "New")) 
           select new Bugs 
           { 
            Bug_Id = (string)query.Element("bug_id"), 
            Short_Desc = (string)query.Element("short_desc"), 
            Bug_Status = (string)query.Element("bug_status"), 
            Priority = (string)query.Element("priority"), 
            Creation_Ts = (string)query.Element("creation_ts"), 
           }; 

     Bugs = new List<Bugs>(data); 
     string statut = Request.QueryString.Get("bug_status"); 

     foreach (Bugs b in Bugs) 
     { 

      System.Web.UI.WebControls.Image img = new System.Web.UI.WebControls.Image(); 
      img.ImageUrl = ("~/Img/FolderIco.png"); 
      PanelAllBugs.Controls.Add(img); 
      LinkButton lkButtonBugs = new LinkButton(); 
      lkButtonBugs.Click += new EventHandler(lkButtonBugs_Click); 
      lkButtonBugs.ID = b.Bug_Id; 
      lkButtonBugs.Tag = b.Short_Desc; 
      lkButtonBugs.Text = b.Bug_Status + "  " + b.Short_Desc + "  " + "<br>"; 
      lkButtonBugs.Attributes.Add("runat", "server"); 
      PanelAllBugs.Controls.Add(lkButtonBugs); 

     } 
    } 


void lkButtonBugs_Click(object sender, EventArgs e) 
    { 
     bugId = ((sender as LinkButton).ID); 

     LoadTheDescriptionForABug(bugId, ((sender as LinkButton).ID)); 
     LoadBugsComments(); 
     LoadBugsAttachments(); 
    } 

나를 도와 줄 사람이 있습니까?

대단히 감사합니다.

답변

2

어디에서 전화할까요? LoadXmlBugs?

모든 포스트 백에 동적으로 추가 된 컨트롤을 추가해야하므로 모든 방법은 위의 메서드를 호출하는 위치와 시간에 따라 달라집니다.

Page_Init 이벤트 처리기에서 LoadXmlBugs으로 전화 해주세요.

+0

내 PageLoad에서는 프로젝트 만로드합니다. 각 프로젝트는 클릭 이벤트가있는 링크 버튼입니다. 그래서 프로젝트를 클릭하면이 프로젝트의 모든 버그가 표시됩니다. 또한 click 이벤트를 사용하여 버그의 새로운 linkbutton을 만듭니다. 나는 왜 논문이 발사되지 않는지 모르겠다. Page_Init에 LoadXmlBugs를 넣으려고했지만 아무 일도 일어나지 않습니다. 그리고 나는 프로젝트 linkbutton의 클릭으로 LoadXmlBugs를 호출한다. 그런 다음이 버그 중 하나를 클릭하면 설명이 표시됩니다. 클릭이 실행되지 않습니다. – Kiwimoisi

+0

Page_Load 전에 컨트롤을 추가해야합니다. @Davide가 올바른 장소를 제공했습니다. – TheGeekYouNeed

+0

이것을 page_Init에 넣으면 여전히 작동하지 않습니다. 첫 번째 프로젝트 링크 버튼을 클릭하면 Init가 실행 중입니다. 프로젝트에서 Linkbutton 인 버그 하나를 클릭하면 page_Init이 실행되지 않습니다. – Kiwimoisi

관련 문제