2013-07-26 31 views
0

我一直在尝试解决这个问题像两个小时,我仍然不知道发生了什么。基本上这是我的情况:按钮处理程序不工作时不运行PageLoad

只有一个可能的回发,你可以从我的网站做,并且回发是从一个按钮,重定向到另一个页面。因此,我认为当按钮被点击时,它会更好地优化不运行PageLoad事件,因为无论如何它只是要重定向。

问题是,当我不运行PageLoad事件时,按钮事件不会触发。我使用下面的代码在运行时添加按钮到我的网页:

 LinkButton lb = new LinkButton(); 
     lb.Click += new EventHandler(lb_Click); 
     adminPanel.Controls.Add(lb); 

我想以防万一运行仅上述部分来自PageLoad事件所需的按钮来重新创建,但它仍然没有按”工作。

任何人都知道可能是什么问题?

编辑:我忘了补充,这里是什么按钮的功能:

FormsAuthentication.SignOut(); 
    Response.Redirect("~/"); 
+1

按钮点击是否执行额外的服务器端处理或简单重定向到页面的已知URL? –

+0

我更新了问题。 – TheGateKeeper

+0

你说你在PageLoad事件中只有上面的代码 - 所以你确实保留了事件和重新生成按钮的代码 - 当它停止工作时你还删除了什么? –

回答

2

另一个解决办法是使用JavaScript来做到这一点,重定向的onclick上logout.aspx那里,你可以用你的代码登出在页面加载:

FormsAuthentication.SignOut(); 
Response.Redirect("~/"); 

但即使它不会更优化..它只是在另一种方式相同。

+2

+1我认为这是最好的方法,**特别是**,如果你如此关心优化,就像OP所说的那样。一个简单的锚点(不是以编程方式添加的服务器端控件)重定向到登录页面应该是你需要做的一切。 – Icarus

+0

谢谢我决定使用这种方法;现在我不必担心回传。 – TheGateKeeper