4
我已经搜索并尝试了很多事情,但我无法获得以下代码来工作。看来,当我有三个按钮在C#中,如果我点击第一个它会正确触发。但是,当我点击第二个按钮时,它无法加载第三个按钮。回到第一个。由于某些原因,事件似乎没有超过第一级。预先感谢您的帮助。c#事件:第二级后没有触发
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Diagnostics;
public partial class testingSandbox : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
boot();
}
public void boot()
{
firstFunc();
}
public void firstFunc()
{
Debug.WriteLine("func1");
Button btn1 = new Button();
btn1.Text = "btn1";
btn1.ID = "btn1";
btn1.Click += new EventHandler(secFunc);
form1.Controls.Add(btn1);
}
public void secFunc(object sender, EventArgs e)
{
Debug.WriteLine("func2");
Button btn2 = new Button();
btn2.Text = "btn2";
btn2.ID = "b2";
btn2.Click += new EventHandler(thirdFunc);
form1.Controls.Add(btn2);
Button btn1 = (Button)this.FindControl("btn1");
//btn1.Click-=new EventHandler(secFunc);
}
public void thirdFunc(object sender, EventArgs e)
{
Debug.WriteLine("func3");
Button btn3 = new Button();
btn3.Text = "btn3";
btn3.ID = "b3";
btn3.Click += new EventHandler(fourthFunc);
form1.Controls.Add(btn3);
}
public void fourthFunc(object sender, EventArgs e)
{
Debug.WriteLine("func4");
Button btn4 = new Button();
btn4.Text = "btn4";
form1.Controls.Add(btn4);
}
}
这是因为,当你点击btn1时,Page Reloads和boot()函数再次调用那里。 –
点击按钮显示按钮2.当我点击按钮2时,它回到按钮1,而不是显示按钮3.如果页面刷新,为什么按钮2加载。这个问题的补救措施是什么?谢谢。 –
这是因为btn2的Click事件没有在'Page_Load'或'Page_Init事件中设置,因此不会触发, –