IE10中的LinkBut​​tons未执行回发

Rob*_*son 9 asp.net internet-explorer-10

我正在尝试将一个简单的内容添加LinkButton到ASP.NET 4页面,但它不会postback在IE10中调用它.代码如下所示.

HTML:

<form id="form1" runat="server">
<div>
  <asp:LinkButton ID="LinkButton1" runat="server"
    OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
  <br />
  <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>    
Run Code Online (Sandbox Code Playgroud)

C#:

protected void Page_Load(object sender, EventArgs e) { }

protected void LinkButton1_Click(object sender, EventArgs e)
{
  Label1.Text = DateTime.Now.ToString();
}
Run Code Online (Sandbox Code Playgroud)

如您所见,它只是一个简单的页面.但是,LinkButton自升级到Win8和IE10以来,我无法调用该方法.这适用于Firefox.

有什么想法我需要做什么?

p.c*_*ell 5

这是服务器修补/更新问题.ASP.NET没有为您的浏览器发出正确的JavaScript来运行.它不知道IE版本比IE9更新.

请参阅Scott Hanselman的帖子:

ASP.NET无法检测IE10导致_doPostBack未定义JavaScript错误或维护FF5滚动条位置

Scott在2011年的帖子中指出,修复程序应该通过Windows Update分发.确保您的服务器是最新的Windows Update .NET Framework服务更新.如果没有,您可以下载补丁阅读Microsoft KB上的更多详细信息.

该修复程序将更新这些.browser文件,允许ASP.NET发出正确的标记和JavaScript.

%WINDIR%\ Microsoft.NET \框架(64?)\ v4.0.30319\CONFIG \浏览器\ ie.browser

这将包含以下项目:

  <!-- Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) -->
  <browser id="IE10Plus" parentID="IE6Plus">
    <identification>
      <capability name="majorversion" match="\d{2,}" />
    </identification>
    <capabilities>
      <capability name="jscriptversion" value="6.0" />
    </capabilities>
  </browser>
Run Code Online (Sandbox Code Playgroud)


Agh*_*oub 3

您有补丁,该补丁在 Internet Explorer 和 Mozilla Firefox 的浏览器定义文件中引入了更新的定义。浏览器定义文件存储在以下文件夹中,具体取决于安装的 Microsoft Framework le.NET 版本:

对于 32 位版本的 Framework 4.0.NET

%WinDir%\Microsoft.NET\Framework\v4.0.30319\CONFIG\浏览器

对于 64 位版本的 Framework 4.0.NET

%WinDir%\Microsoft.NET\Framework64\v4.0.30319\CONFIG\浏览器

在此处下载补丁:http://support.microsoft.com/hotfix/KBHotfix.aspx ?kbnum=2600088&kbln=fr

链接: http: //support.microsoft.com/kb/2600088

  • 当我尝试运行该修补程序时,我得到: KB2600088 不适用,或者被计算机上的其他条件阻止。所以我猜它与Windows 8不兼容。 (9认同)