2011-12-26 50 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