在IE10 + Win7中,ASP.NET ImageButton仅适用于兼容模式

时间:2013-08-20 19:20:04

标签: c# asp.net .net iis imagebutton

以下是我的登录作品和ImageButton的标记(它们都带着a):

         <tr style="width:150">
             <td style="padding-left:0px;font-family:Verdana;font-size:70%;width:30%;font-size:small;">Username</td>
            <td style="width:70%" align="left"><asp:TextBox id="txtUsername" runat="server" Width="90px" /></td>
            <td><asp:RequiredFieldValidator ID="rfvUserName" runat="server" ErrorMessage="*" ControlToValidate="txtUsername" ValidationGroup="credentials" Display="Dynamic" /></td>
         </tr>
         <tr>
               <td style="padding-left:0px;font-family:Verdana;font-size:70%;font-size:small;" >Password</td>
               <td style="padding-right:0px;font-size:small;" align="left"><asp:TextBox ID="txtPassword" TextMode="Password" runat="server" Width="90px" /></td>
               <td><asp:RequiredFieldValidator ID="rfvPassword" runat="server" ErrorMessage="*" ControlToValidate="txtPassword" ValidationGroup="credentials" Display="Dynamic" /></td>
         </tr>
         <asp:Panel ID="pnlInvalidCredentials" runat="server" >
            <tr>
               <td colspan="2" align="center" style="color: Red;">
               <asp:Literal runat="server" ID="litInvalidCredentials" Text="Invalid Username or Password" />
               </td>
            </tr>
         </asp:Panel>
     <tr valign="middle">
        <td style="padding-left:20px;" valign="top"><asp:ImageButton ID="ibLogin" runat="server" ImageUrl="~/images/Sign_in_button.png" OnClick="ibLogin_OnClick" Width="83px" Height="25px"  /></td>
           <td align="center" style="font-family:Verdana;font-size:70%;font-size:small;">
              <asp:LinkButton runat="server" ID="lbForgotPassword" Text="Forgot password?" OnClick="lbForgotPassword_OnClick" />                                                             
           </td>
     </tr>

同样,ibLogin_Click(...)的第一行是Debug.WriteLine("ImageButton clicked.");。在Win7上的IE10中如果我单击按钮时没有处于兼容模式,则没有任何反应。从来没有调用代码隐藏的OnClick(在我的调试输出中我从未看到“ImageButton clicked。”并且没有登录)。

但是,如果我打开兼容模式,一切都会立即生效,我当然在调试输出中看到“ImageButton clicked”,并且成功登录。

我在标记中错误地使用了ImageButton吗?是否存在

的已知问题

2 个答案:

答案 0 :(得分:0)

我会做一些事情,看看为什么它不起作用。我要做的第一件事就是使用“F12开发人员工具”并使用它来查看可能发生的事情。有时它可能表明某些东西被阻止了。通过这种方式,您可以查看它是否被触发。如果您无法找到有用的内容,请尝试重置Internet Explorer。您可以通过选择互联网选项,单击高级键并重置来完成此操作。我遇到了一些问题,IE从我不断的调试中搞砸了。我还会检查它是否适用于Firefox和Chrome。至于你的代码,图像按钮看起来很好。对我而言,这将是您的实际浏览器而不是您的代码的问题。您还可以尝试卸载IE 10,看看它是否在IE 9中没有兼容模式的情况下工作。祝您好运!

答案 1 :(得分:0)

IE10中存在一个与ASP.NET ImageButton控件直接相关的错误。只需将控件替换为ASP.NET按钮并将其设置为按照您的需要进行设置即可解决问题。