2013-02-14 62 views
4

以下代码适用于我的工作环境。但对于我的客户,“Onclick”事件不会触发。如果我们从页面中删除UseSubmitBehavior='false'OnclientClick事件,它对它们工作正常。我的问题是什么是这个问题的原因。是因为浏览器设置还是什么?我不知道为什么它没有射击。请帮帮我。<asp:Button>使用UseSubmitBhaviour = false不会触发'onclick'事件

<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

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

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

你应该问你的客户提供网页的HTML源代码。

确保:

  • 它包含了从onclick事件
  • 串接您this.disabled=true__dopostback喊出了__dopostback函数生成的代码是用相同的浏览器你的工作环境相同
  • 如果不同,您的客户可能错过了一些更新
+0

+1谢谢jbl。它对我真的很有帮助。我不打算改变浏览器定义文件。我只是要删除'Usesubmitbehaviour'和'OnClientClick'。但我会用你的修补程序来完成我的下一个项目。再次感谢。 – Suresh 2013-02-14 11:22:17

+0

对于ie8和ie10,上述代码在我们的环境中正常工作。但它不是我的客户使用ie8和ie10。我不知道确切的原因。请帮帮我。 – Suresh 2013-02-14 12:12:40

+0

@Suresh这可能是兼容模式的问题,是否激活? – jbl 2013-02-14 14:34:52