什么可能导致点击事件无法正常启动?

时间:2011-08-03 09:46:00

标签: asp.net events

我有一个带有ckeditor的页面和一个“保存按钮”。 在加载时,我在编辑器上放置了一些文本供用户编辑然后保存。 我在使用保存按钮时遇到了一些麻烦。

我的代码后面有以下代码。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Some Code

Protected Sub btgravar_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btgravar.Click
    Some Code

在正常情况下,如果我在两个事件的第一行放置一个断点,则会触发页面加载,然后触发click事件。 在某些情况下(我无法弄清楚何时)不会触发click事件。页面加载触发,然后页面刷新而没有任何保存按钮的信号。

我认为如果在页面加载事件上抛出了一些异常,这可能会阻止第二个事件被触发。但是,我在调试模式下跟踪了所有代码并且没有抛出异常,当它结束时,页面只是刷新。

有关为何发生这种情况的任何想法?

编辑:编辑器和按钮(保存并返回)在一个表中,这里是一些aspx代码(表关闭元素不在那里因为在这个下面有更多的cede )

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 18px;" id="TABLE1" language="javascript" onclick="return TABLE1_onclick()">
                                            <tr>
                                                <td style="width: 24px; height: 25px; text-align: right">
                                        <asp:ImageButton ID="ImageButton1" runat="server" Height="20px" ImageUrl="~/Imagens/retorna.gif"
                                            Width="20px" /></td>
                                                <td style="width: 7px; height: 25px;">
                                                    <span style="font-size: 8pt; color: black">&nbsp;Cancelar</span></td>
                                                <td style="width: 28px; height: 25px; text-align: right">
                                                    <asp:ImageButton  ID="btgravar" runat="server" Height="20px" ImageUrl="~/Imagens/gravar.gif"
                                            Width="20px" ToolTip="Gravar Relatório" />
                                                </td>
                                                <td style="width: 46px; height: 25px;">
                                                    <span style="font-size: 8pt; color: #006666">&nbsp;<asp:Label ID="lblgravar" runat="server"
                                                        Font-Bold="False" Font-Size="8pt" ForeColor="Black">Gravar</asp:Label></span></td>

-

    <form id="form1" runat="server" enctype="multipart/form-data" >

-

function TABLE1_onclick() {

}

TABLE1_onclick()实际上没有任何意义,可能可以从表定义中取出(?)

EDIT2 :我尝试从表中删除onclick:没有变化。我也已经尝试将图像按钮从桌面上取下并直接进入页面,行为仍然存在。

(如果您希望我提供更多我的页面的详细信息/代码,请询问)

1 个答案:

答案 0 :(得分:1)

我想我看到了一些东西:

btgravar缺少OnClick事件处理程序。您应该将 OnClick =“btgravar_Click”添加到图像按钮。

如果您使用

在页面加载中的某处添加它
btgravar.Click += new ImageClickEventHandler(btgravar_Click); 

并确保即使在回发时也在每个页面上加载。

编辑:如果返回false,则onclick将仅取消操作,并且您确实在onClick中返回。这是我最初的想法,但我对你发布的内容进行了一些测试,似乎没问题。