2016-04-21 24 views
0

でのJavaScriptの例外を生成します。エッジ、Firefox、およびChromeのAjaxToolkit SliderExtenderはそうのような<code>UpdatePanel</code>に私は<code>ajaxToolkit:SliderExtender</code>を使用していIE11

<asp:UpdatePanel ID="upSlideshow" runat="server"> 
    <ContentTemplate> 
     <asp:TextBox ID="txtSlideBackgroundOpacity" runat="server" 
      ReadOnly="true" 
      ToolTip="Adjust the opacity of the background (0 is fully transparent, 100 is fully opaque)" 
      OnTextChanged="txtSlideBackgroundOpacity_TextChanged" 
      AutoPostBack="true" /> 
     <br /> 
     <asp:TextBox ID="txtOpacitySlider" runat="server" /> 
     <ajaxToolkit:SliderExtender ID="seSlideBackgroundOpacity" runat="server" 
      TargetControlID="txtOpacitySlider" 
      BoundControlID="txtSlideBackgroundOpacity" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

作品罰金が、IE11で次の例外を生成:

this postから

0x800a139e - JavaScript runtime error: Sys.ArgumentOutOfRangeException: Value must be an integer.

私は互換性の設定を見て、そしてthis post から、私は<meta http-equiv="X-UA-Compatible" content="..." />タグの様々な組み合わせを試してみた...、以下のものをはサイト内の他のものを破壊し、IE=11IE=edgeはどちらも私に例外を与えます。

クリーンなASP.NET Webフォームプロジェクトを作成して、問題を特定できたかどうかを確認しましたが、そのプロジェクトではスライダが機能しているため、問題の原因になっているプロジェクトの設定があります。私はどこから見始めなければならない?ありがとう。

答えて

0

回避策があります。デバッガでは、JavaScriptが例外をスローしていることがわかります。だから、それは、その後、私は次の操作を実行している場合、私は...クライアントがIEであるかどうかを検出するために、this SO postからジャスティンのコードを使用します。

(function() { 
    // if we're running internet explorer, we need to fix one of the internal routines to allow for the SliderExtender control to work 
    var nIEVersion = internetExplorerVersion(); 

    if (nIEVersion && nIEVersion <= 11) { 
     var originalSetLocation = Sys.UI.DomElement.setLocation; 

     Sys.UI.DomElement.setLocation = function (element, x, y) { 
      originalSetLocation(element, Math.floor(x), Math.floor(y)); 
     } 
    } 
}()); 

まだ私はこの例外を得ている理由を知ることが良いでしょう私の生産コードではなく、クリーンなプロジェクトではなく、少なくとも今私は働いています。

関連する問題

 関連する問題