クライアント側でコンボコントロールのEnabledプロパティを変更してから値をクリアすると、ポストバック後にクリア前の値が表示される

文書番号 : 27608     文書種別 : 不具合     最終更新日 : 2009/09/04
文書を印刷する
対象製品
InputMan for .NET 2.0J Web Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
コンボコントロールの値を選択後、下記のコードのように、クライアント側でEnabledプロパティを変更してから選択値をクリアすると、ポストバック後にクリア前の値が表示されます。

FindIMControl("Combo1").SetEnabled(true);
FindIMControl("Combo1").Clear();
回避方法
この問題は改定第6版(v2.0.2010.528)で修正されました。
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
改定第6版より前のバージョンでは次の方法で回避可能です。

次のようなスクリプトを</form>と</body>タグの間に追加します。

</form>
<script type="text/javascript">
  ComboControl.prototype.SetEnabled = Combo_SetEnabled;
  function Combo_SetEnabled(enabled) {
    BaseInputControl.prototype.SetEnabled.call(this, enabled);
    this.DropDownObj.Enabled = enabled;
    if (this.DropDownStyle == DropDownStyle.Simple) {
      this.DropDownObj.FillBlockData();
      this.DropDownObj.ResetStatus();
      if (this.DropDownObj.VerticalScrollBar != null) {
        this.DropDownObj.VerticalScrollBar.SetEnabled(enabled);
      }
      if (this.DropDownObj.HorizontalScrollBar != null) {
        this.DropDownObj.HorizontalScrollBar.SetEnabled(enabled);
      }
    }
    this.UIUpdate.SetImageEnabled(this.imageField, enabled);
  }
</script>
</body>
キーワード
INME07460

この文書は、以前は次のバグレポートIDで公開されていました : 8044