クライアント側とサーバー側で同じイベントを実装すると、サーバー側イベントが発生しない場合がある
対象製品
InputMan for .NET 2.0J Web Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
この問題は、UpdatePanel上にInputManコントロールを配置した場合に発生します。
クライアント側とサーバー側で同じイベント(TextChangedイベントおよびASP.NET AJAX専用の
KeyExit、EditStatusChangedイベントなど)を実装する場合、クライアント側イベントをデザイン画面から(*.aspx)ではなく、次のようにサーバーコードで実装するとサーバー側イベントが発生しません。
Edit1.ClientEvents.KeyExit = "Edit1_KeyExit"
Edit2.ClientEvents.TextChanged = "Edit2_TextChanged"
クライアント側とサーバー側で同じイベント(TextChangedイベントおよびASP.NET AJAX専用の
KeyExit、EditStatusChangedイベントなど)を実装する場合、クライアント側イベントをデザイン画面から(*.aspx)ではなく、次のようにサーバーコードで実装するとサーバー側イベントが発生しません。
Edit1.ClientEvents.KeyExit = "Edit1_KeyExit"
Edit2.ClientEvents.TextChanged = "Edit2_TextChanged"
回避方法
この問題は改定第4版(v2.0.2008.829)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第4版より前のバージョンでは次の方法で回避可能です。
デザイン画面からクライアント側イベントを実装します。あるいは、サーバー側で次のように実装します。
Edit1.ClientEvents.KeyExit = "Edit1_KeyExit gcsh_InputManWeb_AjaxServerEventHandler"
Edit2.ClientEvents.TextChanged = "Edit2_TextChanged gcsh_InputManWeb_AjaxServerEventHandler"
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第4版より前のバージョンでは次の方法で回避可能です。
デザイン画面からクライアント側イベントを実装します。あるいは、サーバー側で次のように実装します。
Edit1.ClientEvents.KeyExit = "Edit1_KeyExit gcsh_InputManWeb_AjaxServerEventHandler"
Edit2.ClientEvents.TextChanged = "Edit2_TextChanged gcsh_InputManWeb_AjaxServerEventHandler"
キーワード
INME06825
この文書は、以前は次のバグレポートIDで公開されていました : 7589