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事件中設置,因此不會觸發, –