【问题标题】:Linkbutton Dynamically ClickLinkbutton 动态点击
【发布时间】:2011-10-24 11:49:14
【问题描述】:

我的项目有问题。我正在动态创建链接按钮以显示项目。当我单击一个项目时,它正在触发,我可以动态显示错误的链接按钮。现在当我点击一个错误时,我也想动态显示描述,但是这个点击事件没有触发,我无法修复它..这是我的代码。

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();
    }

有人可以帮我吗?

非常感谢。

【问题讨论】:

    标签: asp.net webforms linkbutton


    【解决方案1】:

    你从哪里调用方法:LoadXmlBugs

    应在每个 PostBack 中添加动态添加的控件,因此一切都取决于您在何处/何时调用上述方法。

    尝试从 Page_Init 事件处理程序调用 LoadXmlBugs

    【讨论】:

    • 在我的 PageLoad 我只加载项目。每个项目都是一个带有点击事件的链接按钮。因此,当我单击一个项目时,我会显示该项目的所有错误。我还创建了新的错误链接按钮,带有点击事件。我不知道为什么这些没有被解雇。我试图将 LoadXmlBugs 放在 Page_Init 中,但没有任何反应。我在单击项目链接按钮时调用 LoadXmlBugs 。然后,当我单击其中一个错误时,我应该显示描述...单击不会触发。
    • 您必须在 Page_Load 之前添加控件。 @Davide 为您提供了执行此操作的正确位置。
    • 当我把它放在 page_Init 中时它仍然无法正常工作。当我单击我的第一个项目链接按钮时,页面 Init 正在触发。当我单击项目上的一个错误时,它也是一个 Linkbutton , page_Init 没有触发。
    猜你喜欢
    • 2013-04-30
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    相关资源
    最近更新 更多