程序流不进入事件处理程序



我有两个ASP.NET应用程序。其中一个有ASCX用户控件,但两者都使用。

当我运行用户控制不是的应用程序时,程序流进入事件处理程序。当我运行用户控制的应用程序时,程序流不会进入事件处理程序。

代码如下:

1) HTML:

<asp:PlaceHolder ID="CashdeskMenuHolder" Runat="server" Visible="False">
    <table width="99%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#E8E8E8">
        <tr>
            <td width="65" align="center" class="mainMenu" onmouseover=" this.style.background = '#F5F6AF'; " onmouseout=" this.style.background = '#E8E8E8'; ">
                <site:secureLink runat="server" ID="Exit" Name="выход" CssClass="MainMenu" Allow="wizard,admin,kassaThermo,kassa,kassaPechat,kassaPechatSpec,kassaPechatExt,kassaExpress,kassaManager,placeManager"/>            
            </td>
        </tr>
    </table>
</asp:PlaceHolder>

2) 代码背后:

private void InitEvents()
{
    Exit.LinkClick += Exit_Click;
}
void Exit_Click(object sender, EventArgs e)
{
    Session["KassaLogOff"] = true;
}

这个怎么了?

编辑:每次回发时都需要重新创建用户控件,否则事件将丢失。

我不确定您在哪里调用InitEvents方法,但每次回发时都需要调用它,因此将其设置为OnInit是一个不错的选项。

protected override void OnInit(EventArgs e)
{
     base.OnInit(e); 
     InitEvents();
}

相关内容

  • 没有找到相关文章

最新更新