OnServerClick事件未在某些页面上触发

时间:2012-07-25 09:57:29

标签: c# .net

在我正在处理的网站中,有一个我无法弄清楚的错误。

该错误如下。

我有两个不同的页面(具有不同的功能/控件)。它们都包含相同的页眉,其中包含一个注销按钮。

<form id="Form1" method="post" runat="server">
    <uc1:pageheader id="PageHeader1" title="XXXXX" runat="server"></uc1:pageheader>
    <!-- page content goes here -->
</form>

按钮如下(位于pageHeader.ascx

<INPUT type="button" value="Log out" id="btnLogout" name="btnLogout" runat="server" onserverclick="btnLogout_ServerClick">

使用服务器端函数btnLogout_ServerClick来处理断开连接。

在其中一个页面中,按钮正在发挥作用。 在另一个中,永远不会达到btnLogout_ServerClick函数。

我试图在两个页面的page_Load函数中放置一个断点。它们都以IsPostBack值设置为True的第一个段落开始,但在完成页面上每个控件的加载后,第一个段落在注销功能中,而另一个开始新的page_Load周期,IsPostBack设置为False

对于可能导致此行为的错误/异常没有任何痕迹,如果有人可以提供解决方案或提供找到问题的方法,那将是受欢迎的。

而且我知道我可以尝试删除每个控件并一次添加一个控件以查看它们是否阻止按钮工作,但两个页面都有很多控件,如果我可以避免这种情况会很好。

2 个答案:

答案 0 :(得分:1)

使用浏览器工具(IE开发工具,Firebug等)查看两种情况下发布的数据是否相同。如果有任何重定向,请检查在引发事件之前其他代码是否没有进行重定向。

答案 1 :(得分:0)

我要检查的第一件事是按钮的事件处理程序。你确定它已正确注册吗?

可能与user control event handler lost on postback

有关