二つのUpdatePanelにそれぞれテキストコントロールが配置されている場合、2度目のTextChangedサーバー側イベントでJSエラーが発生する場合がある
対象製品
InputMan for .NET 2.0J Web Forms Edition
発生環境
ASP.NET AJAX 3.5(.NET Framework 3.5)を使用している環境
状況
修正済み
詳細
UpdatePanelが二つあり、それぞれのUpdatePanelにテキストコントロールが配置され、各テキストコントロールのTextChangedイベントで、UpdatePanelをUpdateする場合、一方のテキストコントロールでTextChangedサーバーイベントが発生したあと、もう一方のテキストコントロールに値を入力しフォーカスを移動すると、Javascriptエラーが発生します。
回避方法
この問題は改定第6版(v2.0.2010.528)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第6版より前のバージョンでは次の方法で回避可能です。
下記のJavaScriptコードを、*.aspxファイルの</form>の直後に追加します。
MasterPageを使用しているページには</asp:Content>タグの直前に追加します。
【回避スクリプト】
<script type="text/javascript">
UIUpdate.prototype.SetHideText = function(text) {
var obj = document.getElementById("__" + this.ID + "_State");
if (obj != null) {
obj.value = text;
}
}
UIUpdate.prototype.GetHideText = function() {
var obj = document.getElementById("__" + this.ID + "_State");
if (obj != null) {
return obj.value;
}
}
</script>
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第6版より前のバージョンでは次の方法で回避可能です。
下記のJavaScriptコードを、*.aspxファイルの</form>の直後に追加します。
MasterPageを使用しているページには</asp:Content>タグの直前に追加します。
【回避スクリプト】
<script type="text/javascript">
UIUpdate.prototype.SetHideText = function(text) {
var obj = document.getElementById("__" + this.ID + "_State");
if (obj != null) {
obj.value = text;
}
}
UIUpdate.prototype.GetHideText = function() {
var obj = document.getElementById("__" + this.ID + "_State");
if (obj != null) {
return obj.value;
}
}
</script>
キーワード
INME07479
この文書は、以前は次のバグレポートIDで公開されていました : 8046