Asp.net 不运行PageLoad时按钮处理程序不工作

Asp.net 不运行PageLoad时按钮处理程序不工作,asp.net,events,Asp.net,Events,我已经试着解决这个问题两个小时了,但我仍然不知道到底发生了什么。基本上,我的情况如下: 只有一种可能的回发可以从我的网站上进行,而回发是通过一个按钮重定向到另一个页面。因此,我认为在点击按钮时不运行PageLoad事件会更加优化,因为它只是要重定向 问题是,当我不运行PageLoad事件时,按钮事件不会触发。我正在运行时使用以下代码将按钮添加到我的页面: LinkButton lb = new LinkButton(); lb.Click += new Event

我已经试着解决这个问题两个小时了,但我仍然不知道到底发生了什么。基本上,我的情况如下:

只有一种可能的回发可以从我的网站上进行,而回发是通过一个按钮重定向到另一个页面。因此,我认为在点击按钮时不运行
PageLoad
事件会更加优化,因为它只是要重定向

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

        LinkButton lb = new LinkButton();
        lb.Click += new EventHandler(lb_Click);
        adminPanel.Controls.Add(lb);
我试着从
PageLoad
事件中只运行上面的部分,以防按钮需要重新创建,但仍然不起作用

有人知道问题出在哪里吗

编辑:我忘了添加,下面是按钮的作用:

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

另一个解决方案是使用javascript,onclick redirects on logout.aspx在那里您可以使用代码在pageload中注销:

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

但即使它不会被优化。。另一种方式也是如此。

按钮单击是否会执行额外的服务器端处理或简单地重定向到页面的已知URL?我更新了问题。您说您在PageLoad事件中只有上述代码-因此您保留了事件和重新创建按钮的代码-当它停止时,您还删除了什么工作吗?不,我在页面加载中有更多的代码,但它只是将javascript或其他东西添加到页面中的代码。我认为这不会影响按钮。+1我认为这是最好的方法,特别是如果你像OP所说的那样非常关注优化。一个简单的锚(不是通过编程添加的服务器端控件)重定向到登录页面应该是您所需要做的全部;现在我根本不用担心回发。