簡體   English   中英

動態創建的Button的Click事件未觸發

[英]Click event of dynamically created Button not firing

我正在創建動態生成的按鈕,當我單擊按鈕時,不會觸發Add_Click方法。

這是我的代碼示例:

protected void SearchRec(object sender, EventArgs e)
{
    SearchResultsPanel.Controls.Clear();
    string text_to_search = SearchTB.Text;
    Friends RecToSearch = new Friends();
    List<Friends> ListNFU = DBS.getNonFriendUsers(User.Identity.Name.ToString(), text_to_search);
    if (ListNFU.Count != 0)
    {
        foreach (Friends NFRIndex in ListNFU)
        {
            string _FriendsOutput = FR_output(NFRIndex);

            HyperLink RecHyperLink = new HyperLink();
            RecHyperLink.Text = _FriendsOutput;
            RecHyperLink.CssClass = "HyperLinkFriends";
            RecHyperLink.ID = NFRIndex.UdName;

            SearchResultsPanel.Controls.Add(new LiteralControl("<div style='height:32px'>"));
            SearchResultsPanel.Controls.Add(RecHyperLink);

            Button addUser = new Button();
            addUser.CssClass = "ApproveBTN";
            addUser.Text = "send";
            addUser.Click += new EventHandler(Add_Click);
            addUser.ID = NFRIndex.UdName + "3";
            SearchResultsPanel.Controls.Add(addUser);
        }
    }
    else
    {
        Label NoResultsLabel = new Label();
        NoResultsLabel.Text = "Nothing is found";
        SearchResultsPanel.Controls.Add(NoResultsLabel);
    }
    SearchResultsPanel.Controls.Add(new LiteralControl("</div>"));
}

private void Add_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    string _tempID = btn.ID;
    string id = _tempID.Substring(0, _tempID.LastIndexOf('3'));
    DateTime cdate = new DateTime();
    cdate = DateTime.Now;
    DBS.AddFriend(User.Identity.Name, id, cdate);
    btn.Visible = false;
    btn.NamingContainer.FindControl(id).Visible = false;
}

注意 :我在page_load上做了非常類似的事情,它確實起作用。

這是因為重新加載頁面時,很可能不會重新創建控件。 這意味着該事件確實不會觸發。

您需要將這種代碼放置在Page_Load以便在回發時重新創建它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM