2011-10-24 14 views
1

私のプロジェクトに問題があります。私はプロジェクトを表示するためにリンクボタンを動的に作成しています。私がプロジェクトをクリックすると発火し、バグのリンクボタンを動的に表示することができます。今、バグをクリックすると、説明も動的に表示したいのですが、このクリックイベントは発生していないため、修正できません。これは私のコードです。リンクボタン動的にクリック

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では、プロジェクトだけを読み込みます。各プロジェクトは、クリックイベントを持つリンクボタンです。プロジェクトをクリックすると、このプロジェクトのすべてのバグが表示されます。また、私はクリックイベントでバグの新しいリンクボタンを作成します。私はなぜこれらの論文が発射されていないのか分かりません。 Page_InitにLoadXmlBugsを入れようとしましたが、何も起こりません。 そして私は、プロジェクトのリンクボタンをクリックしてLoadXmlBugsを呼び出します。 これらのバグの1つをクリックすると、説明が表示されるはずです...クリックは起動しません。 – Kiwimoisi

+0

Page_Loadの前にコントロールを追加する必要があります。 @Davideはこれを行うための正しい場所を与えました。 – TheGeekYouNeed

+0

これをpage_Initに入れてもまだ動作しません。 私の最初のプロジェクトリンクボタンをクリックするとInitページが起動します。 リンクボタンでもあるプロジェクトのバグをクリックすると、page_Initは起動しません。 – Kiwimoisi

関連する問題