C# 使用更新面板逃避关键问题

C# 使用更新面板逃避关键问题,c#,asp.net,internet-explorer-8,asp.net-4.0,C#,Asp.net,Internet Explorer 8,Asp.net 4.0,当在一个包含“任意”控件的更新面板的页面上按ESC键两次时,比如说textbox或listbox,我会得到一个系统参数。ArgumentException:无效的回发或回调参数。我已经检查了剩余的浏览器,它工作正常,但在Internet Explorer 8中,它产生了上述问题 我找到的可能解决方案是在页面级别或webconfig上启用EnableEventValidation=“false”,或者禁用escape键。我不想使用前两种解决方案,因为我的网站安全性会受到影响,我也不希望我的退出密钥

当在一个包含“任意”控件的更新面板的页面上按ESC键两次时,比如说textbox或listbox,我会得到一个系统参数。ArgumentException:无效的回发或回调参数。我已经检查了剩余的浏览器,它工作正常,但在Internet Explorer 8中,它产生了上述问题

我找到的可能解决方案是在页面级别或webconfig上启用EnableEventValidation=“false”,或者禁用escape键。我不想使用前两种解决方案,因为我的网站安全性会受到影响,我也不希望我的退出密钥被禁用

如有任何建议/想法,欢迎提出

代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"
        EnablePageMethods="true">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanelHeader" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <div id="Search">
                <table style="empty-cells: hide;" width="100%" cellpadding="0" cellspacing="0" class="controlsTable">
                    <tr>
                        <td class="td4Caption">
                            Some Text
                        </td>
                        <td class="tdpadding">
                            <asp:TextBox ID="txtbox" ClientIDMode="Static" runat="server"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <asp:ImageButton SkinID="Export" AlternateText="Generate Report" ToolTip="Generate Report"
                                ID="ibtnGenerateReport" ValidationGroup="Generate" runat="server" OnClick="ibtnGenerateReport_Click" />
                        </td>
                    </tr>
                </table>
            </div>
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>
</body>
</html>

一些文本

•您可以尝试的另一件事是:对asp:ScriptManager启用partialRendering=“false”

通过使用“边缘”,确保您的站点以适当的兼容性呈现: 如果上述操作无效,请尝试如下控制异常处理程序:


你能考虑在客户端处理ESC密钥吗?@ Novie程序员是…我需要escape键才能关闭模式弹出窗口。所以不能禁用转义键。但重要的一点是,它在IE8中的创建问题只在所有浏览器中存在:(你能发布你的代码吗?@DaveMroz我添加了一个代码供参考。我建议你尝试在页面加载事件中使用
try{…code here}catch(异常){…任何代码处理}处理它
如果这种情况只发生在您的IE8中,那么每次它都会发回,您可以控制发生了什么