2011-12-26 56 views
0

我有兩個圖像按鈕,分配給它們的點擊事件。每個事件都有代碼。當它們被點擊時,它會在點擊事件中運行代碼之前運行頁面加載功能。我怎樣才能讓它在第一次點擊事件中運行代碼?圖像按鈕和回發問題

節日快樂!

圖像按鈕。

protected void Page_Load(object sender, EventArgs e) 
    { 
     //YesID = "1"; 
     if (!IsPostBack) 
     { 

      Session["FirstyesID"] = 0; 
      Session["FirstnoID"] = 0; 
      Session["SecondnoId"] = 0; 
      Session["SecondyesId"] = 0; 
      Session["yesID"] = 0; 
      Session["noId"] = 0; 
     } 
     else 
     { 
      //Run this code 
     } 
} 
     protected void FirstPicLink_Click(object sender, ImageClickEventArgs e) 
    { 
     Session["yesID"] = Session["FirstyesID"]; 
     Session["noId"] = Session["FirstnoID"]; 
     //FirstPicLink.PostBackUrl = "default.aspx"; 
     //FirstPicLink.PostBackUrl = "GadgetFS.aspx?yesId=" + firstYesPicId + "&noId=" + firstNoPicId; 

    } 

    protected void SecondPicLink_Click(object sender, ImageClickEventArgs e) 
    { 
     Session["yesID"] = Session["SecondyesId"]; 
     Session["noId"] = Session["SecondnoId"]; 
     //SecondPicLink.PostBackUrl = "default.aspx"; 
     //SecondPicLink.PostBackUrl = "GadgetFS.aspx?yesId=" + secondYesPicId + "&noId=" + secondNoPicId; 
    } 

回答

2

你在問什麼是非法的。有沒有在這件事在ASP.NET

執行正如你可以看到「裝載」後「回傳事件處理」發生,並試圖欺騙這個命令,將導致你頭痛之後。這是一種非常糟糕的做法,這是來自那些在這條路上的人。您不想混淆頁面生命週期。

看你的代碼,我可以建議你把一切應該在// Run this code線到一個方法,並調用該方法從Click處理程序,而不是從else塊。無論如何,你應該始終記住頁面生命週期,並根據這個修改你的代碼邏輯。

+0

謝謝。我將不得不重新考慮如何在點擊圖像後分配變量。 – CsharpBeginner 2011-12-26 00:30:13