マスターページ使用時にコンテンツページのサーバー側でフォーカス移動をするとスクリプトエラーが発生する
対象製品
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 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>
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
Service Pack 2より前のバージョンでは次の方法で回避可能です。
サーバー側でフォーカス移動を実行せず、次の回避スクリプトをコンテンツページの
以下はテキストコントロールにフォーカスを移動する例です。
[JavaScript]
<script type="text/javascript">
window.onload = function () {
FindIMControl("<% = GcTextBox1.ClientID%>").SetFocus();
}
</script>