4

以下代码适用于我的工作环境。但对于我的客户,'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)的人不起作用。他们的浏览器是否有任何设置更改?提前谢谢...

4

1 回答 1

1

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

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

您应该向您的客户索取页面的 HTML 源代码。

确保这件事 :

  • 它包含从 onclick 事件__dopostback连接到您的调用this.disabled=true
  • __dopostback函数的生成代码在您使用相同浏览器的工作环境中是相同的
  • 如果不同,您的客户可能错过了一些更新
于 2013-02-14T11:07:31.167 回答