首页 > 解决方案 > 以编程方式更改窗体上的 aspx 按钮 Click 事件 Page_Load 不一致

问题描述

我的行为不一致。我需要更改用户控件的按钮 Click 事件。我有两个按钮,我对控件所做的所有更改都可以正常工作,但是只有一个 Click 事件不会更改:

((Button)EntryControl.FindControl("CancelConfirmation").FindControl("btnYesCancel")).Click += new EventHandler(btnYesCancelTrade_Click);

所有其他更改都可以正常工作:

    protected void Page_Load(object sender, EventArgs e)
    {
        ((Label)EntryControl.FindControl("lbPurchaseDate")).Visible = false;
        ((TextBox)EntryControl.FindControl("txPurchaseDate")).Visible = false;
        ((Label)EntryControl.FindControl("lbPurchasePrice")).Visible = false;
        ((TextBox)EntryControl.FindControl("txPurchasePrice")).Visible = false;

        ((Button)EntryControl.FindControl("CancelConfirmation").FindControl("btnNoCancel")).Click += new EventHandler(btnNoCancelTrade_Click);
        /*does not work*/ ((Button)EntryControl.FindControl("CancelConfirmation").FindControl("btnYesCancel")).Click += new EventHandler(btnYesCancelTrade_Click);
        ((Button)EntryControl.FindControl("CancelConfirmation").FindControl("btnYesCancel")).Text = "Yes Test";
    }

我错过了什么吗?

标签: asp.netbuttonclickeventhandler

解决方案


我错过了我必须取消注册原始处理程序。


推荐阅读