マスターページ使用時にコンテンツページのサーバー側でフォーカス移動をするとスクリプトエラーが発生する

文書番号 : 39133     文書種別 : 不具合     登録日 : 2015/10/13     最終更新日 : 2015/12/21
文書を印刷する
対象製品
InputMan for ASP.NET 8.0J
発生環境
Service Pack 1(v8.0.2015.929)
状況
修正済み
詳細
マスターページを使用している場合に、コンテンツページのサーバー側でPage.SetFocusメソッドや、InputManコントロールのFocusメソッドを実行すると、"未定義または NULL 参照のプロパティ 'SetFocus' は取得できません"というスクリプトエラーが発生します。

なお、この現象は初版では発生しませんが、Service Pack 1(v8.0.2015.929)で発生します。
これは以下の問題の修正が影響しているためです。
[38353]サーバー側でのフォーカス移動処理が動作しない場合がある
回避方法
この問題はService Pack 2(v8.0.2015.1218)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。

Service Pack 2より前のバージョンでは次の方法で回避可能です。

サーバー側でフォーカス移動を実行せず、次の回避スクリプトをコンテンツページのタグ内に追加します。
以下はテキストコントロールにフォーカスを移動する例です。

[JavaScript]
<script type="text/javascript">
    window.onload = function () {
        FindIMControl("<% = GcTextBox1.ClientID%>").SetFocus();
    }
</script>