我瞭解ASP.net頁面生命週期,當我點擊一個按鈕時,它首先重新載入頁面,然後執行我的按鈕背後的代碼。我的問題是我如何得到它,以便在這個過程發生之前我可以設置一些東西。我試圖通過一個變量,該按鈕已被點擊,但由於頁面生命週期它永遠不會收到這個。我該怎麼做,才能確定這個按鈕已被點擊,可能是我過度思考這個問題,或者甚至是思考問題。ASP.net頁面生命週期問題
頁面加載:
ImageButton btn = (ImageButton)(Page.FindControl("displayYImgBtn"));
if (btn != null)
{
string state = btn.CommandArgument;
if (state == "true")
{
search();
btn.CommandArgument = "false";
}
}
按鈕:
ImageButton btn = (ImageButton)(sender);
btn.CommandArgument = "true";
您是否必須在頁面加載中搜索()? – AGoodDisplayName 2011-04-15 18:28:56
@AGoodDisplayName這個名稱有點令人誤解,但是如果條件爲真,那麼需要在頁面加載期間執行。 – atrljoe 2011-04-15 18:30:10
是不是因爲FindControl中的兩個'Y'? 'ImageButton btn =(ImageButton)(Page.FindControl(「displayyImgBtn」));'(這段代碼是否被剪切粘貼?) – 2011-04-15 18:45:06