【ボタン型セル】 ボタン型セルが設定されたシート上で、コールバック/ポストバックを連続で実行するとIEが強制終了する場合がある

文書番号 : 38183     文書種別 : 不具合     登録日 : 2015/02/27     最終更新日 : 2015/03/31
文書を印刷する
対象製品
SPREAD for ASP.NET 7.0J
発生環境
Internet Explorerの互換表示
状況
修正済み
詳細
ボタン型セルが設定されたシート上で、コールバック/ポストバックを連続で実行するとIEが強制終了する場合があります。
本現象はInternet Explorerの互換表示でのみ発生します。

【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
  If Page.IsPostBack Then Return
  Dim ct As New FarPoint.Web.Spread.ButtonCellType()
  ct.ImageUrl = "image.png"
  ct.ButtonType = FarPoint.Web.Spread.ButtonType.ImageButton
  FpSpread1.ActiveSheetView.Columns(0).CellType = ct
  FpSpread1.ActiveSheetView.PageSize = 100
End Sub

------------------------------------
クライアント側スクリプト
------------------------------------
function test1() {
  var objSpread = document.getElementById("FpSpread1");
  objSpread.Add();
}

function test2() {
  var objSpread = document.getElementById("FpSpread1");
  objSpread.Delete();
}

------------------------------------
aspxファイル
------------------------------------
<input type="button" id="Button1" value="追加" onclick="test1();" />
<input type="button" id="Button2" value="削除" onclick="test2();" />

【再現手順】
1.プロジェクトを起動します
2.標準のボタン1を連続で押下しコールバックを行います
 -- IEが強制終了する場合があります
回避方法
Service Pack 3(v7.0.4017.2010)で修正済み。
Service Pack 3(v7.0.4017.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

カスタムセルを作成し不要なスクリプトファイルのダウンロードを抑制します。

Partial Class Main2
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then Return
    Dim ct As New MyButtonCelltype()
    ct.ImageUrl = "image.png"
    ct.ButtonType = FarPoint.Web.Spread.ButtonType.ImageButton
    FpSpread1.Sheets(0).Columns(0).CellType = ct
  End Sub

<Serializable()> _
Class MyButtonCelltype
  Inherits FarPoint.Web.Spread.ButtonCellType
  Public Overrides ReadOnly Property RendererClientScriptUrl As String
    Get
      Return String.Empty
    End Get
  End Property
End Class