4
這是我正在使用的代碼。我理解它的方式,LinkButton1_Click應該只在我點擊LinkButton1時被調用。不幸的是,該方法在頁面加載時被調用,所以我迷失了方向。代碼中有什麼地方有錯嗎?鏈接到LinkButton.Click的事件處理程序在頁面加載時被調用
protected void LinkButton1_Click(object sender, EventArgs e)
{
//Do something
}
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.LinkButton1.Click += new EventHandler(this.LinkButton1_Click);
}
感謝您的幫助
執行初始請求或頁面時執行的'LinkButton1_Click'方法,是否返回給客戶端,並在該LinkButton1的Click事件之後觸發? – 2012-08-14 15:17:27
在您的@Page指令中,AutoEventWireup屬性是否設置爲true?由於您手動連接了事件處理程序,因此請確保將其設置爲false。不確定按鈕點擊處理程序,但Page_Load將另外發射兩次。 – 2012-08-16 07:19:16
我剛剛嘗試完全相同的東西,但它對我來說工作得很好!雖然一旦你點擊鏈接按鈕,然後刷新頁面,然後回發再次發生,鏈接按鈕事件處理程序被再次調用。但是這可以通過在OnInit()中執行IsPostBack檢查來解決。 AutoEventWireUp是真的,所以也沒有阻礙任何事情。 – Amn 2012-08-17 12:13:54