【クライアント】 クライアント側でSPREADのClientIDプロパティを使用すると、例外(HttpException)が発生する場合がある

文書番号 : 37555     文書種別 : 不具合     登録日 : 2014/08/28     最終更新日 : 2015/03/31
文書を印刷する
対象製品
SPREAD for ASP.NET 7.0J
状況
修正済み
詳細
クライアント側でSPREADのClientIDプロパティを使用すると、例外が発生する場合があります。

【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If IsPostBack Then Return

    ' コンテキストメニューを有効
    FpSpread1.EnableContextMenu = True

    ' コンテキストメニューの作成
    Dim mainMenue As New FarPoint.Web.Spread.ContextMenu()
    mainMenue.Type = FarPoint.Web.Spread.ContextMenuType.Viewport
    mainMenue.Items.Add(New FarPoint.Web.Spread.MenuItem("コピー"))
    mainMenue.Items.Add(New FarPoint.Web.Spread.MenuItem("貼り付け"))
    mainMenue.Items.Add(New FarPoint.Web.Spread.MenuItem("クリア"))
    FpSpread1.ContextMenus.Add(mainMenue)
  End Sub

------------------------------------
クライアント側スクリプト
------------------------------------
  window.onload = init;
  function init() {
    var spread = document.getElementById('<%=FpSpread1.ClientID %>');
    spread.SetActiveCell(1, 1);
  }
回避方法
Service Pack 3(v7.0.4017.2010)で修正済み。
Service Pack 3(v7.0.4017.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

ClientIDプロパティを使用せずに直接コントロール名を指定します。

------------------------------------
クライアント側スクリプト
------------------------------------
  window.onload = init;
  function init() {
    var spread = document.getElementById('FpSpread1');
    spread.SetActiveCell(1, 1);
  }