使用UseSubmitBhaviour = false </asp:button> <asp:button>不会触发'onclick'事件

时间:2013-02-14 09:49:04

标签: javascript asp.net onclick aspbutton

以下代码适用于我的工作环境。但对于我的客户来说,'Onclick'事件并不会触发。如果我们从页面中删除UseSubmitBehavior='false'OnclientClick事件,则它们正常运行。我的问题是这个问题的原因是什么。是因为浏览器设置还是什么?我不知道为什么不解雇。请帮帮我。

 <asp:ToolkitScriptManager  ID="ToolkitScriptManager1" AsyncPostBackTimeout="10000"
    runat="server">
</asp:ToolkitScriptManager>
<asp:Panel ID="Panel1"  runat="server">
    <table>
        <tr>
            <td align="left">
                UserName:
                <asp:TextBox ID="tbUserName" Width="150px" runat="server" ></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvUser" runat="server" ErrorMessage="Required" ControlToValidate="tbUserName"
                    ValidationGroup="validate"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr>
            <td align="left">
                Password:
                <asp:TextBox Width="150px" ID="tbPassword" 
                    runat="server" TextMode="Password" ></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvPassword" runat="server" ErrorMessage="Required"
                    ControlToValidate="tbPassword" ValidationGroup="validate"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr id="rowCaptcha" runat="server">
            <td>
                <table style="margin-left: 30px">
                    <tr>
                        <td>
                            <telerik:radcaptcha errormessage="Please enter valid code" validatedtextboxid="tbRadcaptcha"
                                captchatextboxlabelcssclass="textBox" id="RadCaptcha1" captchaaudiolinkbuttontext=""
                                enablerefreshimage="true" captchaimage-renderimageonly="true" validationgroup="group"
                                runat="server"></telerik:radcaptcha>

                        </td>
                    </tr>
                    <tr>
                        <td align="left">
                            <asp:Label ID="Label5" runat="server"  Text="Type the above code in text box"></asp:Label>
                        </td>
                    </tr>
                    <tr>
                        <td align="left">
                            <asp:TextBox runat="server" ValidationGroup="group" ID="tbRadcaptcha"></asp:TextBox>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td align="left">
                <br />
                <asp:Button ID="btLogin" runat="server" Style="margin-left: 80px" UseSubmitBehavior="false"
                    OnClientClick="this.disabled=true" ValidationGroup="group" Text="Login" OnClick="btLogin_Click" />
            </td>
        </tr>
    </table>
</asp:Panel>

编辑: 此代码适用于本地环境中的ie8,ie9和ie10。但是对于我的客户来说,使用ie8和ie10(他们不使用ie9)是行不通的。浏览器中是否更改了任何设置?提前谢谢...

1 个答案:

答案 0 :(得分:1)

是的,可能存在由服务器端.NET框架引起的客户端问题,这些问题并非“最新”。

例如参见:http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

您应该询问客户端页面的HTML源代码。

确保:

  • 它包含从onclick事件中__dopostbackthis.disabled=true连接的号召
  • __dopostback功能的生成代码在您的工作环境中使用相同的浏览器
  • 是相同的
  • 如果不同,您的客户可能错过了一些更新