【スクリプト】 標準ボタンのクリックイベントでClearメソッドを呼び出すと、ポストバックが行われない

文書番号 : 38229     文書種別 : 不具合     登録日 : 2015/03/16     最終更新日 : 2015/03/31
文書を印刷する
対象製品
SPREAD for ASP.NET 7.0J
状況
修正済み
詳細
標準ボタンのクリックイベントでClearメソッドを呼び出すと、ポストバックが行われません。

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

    Button1.OnClientClick = "test();"
  End Sub

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

【再現手順】
1.新規WebフォームにSPREADと標準のボタンを配置します
2.再現コードをペーストしプロジェクトを実行します
3.標準のボタンをクリックします
 -- ポストバックが発生しません
回避方法
Service Pack 3(v7.0.4017.2010)で修正済み。
Service Pack 3(v7.0.4017.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

スクリプトにより明示的にポストバックを実行します。

------------------------------------
クライアント側スクリプト
------------------------------------
  function test() {
    var spread = document.getElementById("FpSpread1")
    spread.Clear();

    // 明示的なポストバックの呼び出し
    __doPostBack((window.event.target || window.event.srcElement).id, "");
  }