C# 将按钮动态添加到面板

C# 将按钮动态添加到面板,c#,asp.net,C#,Asp.net,我正在将RadButton动态添加到面板。因此,我创建的按钮如下所示: RadButton btnAwesome = new RadButton(); btnAwesome.AutoPostBack = true; btnAwesome.Text = "Click me..."; btnAwesome.ID = "LinkButtonTest"; btnAwesome.Click += new System.Even

我正在将RadButton动态添加到面板。因此,我创建的按钮如下所示:

        RadButton btnAwesome = new RadButton();
        btnAwesome.AutoPostBack = true;
        btnAwesome.Text = "Click me...";
        btnAwesome.ID = "LinkButtonTest";
        btnAwesome.Click += new System.EventHandler(lnkbtnEditRecord_Click);
它应该在单击时调用此方法:

    protected void lnkbtnEditRecord_Click(object sender, EventArgs e)
    {
        salesEditPanel.Visible = true;
        resultPanel.Visible = false;
        zipPanel.Visible = false;
        ddlPanel.Visible = false;
        topPanel.Visible = false;
    }
它将按钮添加到面板中,但不将onclick添加到面板中。知道我错过了什么吗


谢谢

每次回发时,您都需要运行该代码来初始化按钮,并且需要确保在页面生命周期的足够早的时候运行该代码。代码在哪一个页面事件中,它将在每次后续回发时运行?

这里的问题是由于回发如何工作-每次请求页面(回发或不回发)时,都会创建控件实例。创建控件并设置其他页面属性后,将解析viewstate以设置控件的属性。然后创建并调度事件

这里重要的是,“页面”的这个实例与您以前生成的实例不同——它是一个新实例,ASP.NET webforms引擎为您设置了所有属性,就好像它是相同的一样。但是在这个例子中,您还没有创建您的
btnAwesome
,因此没有任何东西可以发送“点击事件”到或从


为了改变这一点,您需要确保在页面加载结束时,您想要触发事件的所有控件都已创建。因此,如果要触发单击事件,必须重新创建btnAwesome并将其添加到面板中,然后才能从页面加载返回。

您是在询问单击事件的绑定吗??它不是在点击按钮时升起的吗???RadButton是什么?按钮?“还是一个无线按钮?”先生,他正在使用Telerik控制器。