日付時刻/日付/時刻コントロールで範囲外の値を入力すると例外が発生する場合がある

文書番号 : 38196     文書種別 : 不具合     登録日 : 2015/03/05     最終更新日 : 2015/09/29
文書を印刷する
対象製品
InputMan for ASP.NET 8.0J
状況
修正済み
詳細
この現象は、MaxDate(MaxValue)およびMinDate(MinValue)プロパティを使用して値の範囲を設定した以下のコントロールで発生します。
  • 日付時刻コントロール
  • 日付コントロール
  • 時刻コントロール

  • コントロールに範囲外の値が入力され、フォーカスを移動しない状態でポストバックが発生すると「MinDateからMaxDateまでを指定してください。」という例外が発生します。
    同ページ上にボタンコントロールが配置されている場合など、コントロールからフォーカスを移動せずにEnterキーを押下するとポストバックが発生するため、この現象が発生します。
    回避方法
    この問題はService Pack 1(v8.0.2015.929)で修正されました。
    不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。

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

    AdjustValueOnFocusプロパティをTrueに設定して、フォーカスが移動する前にMaxMinBehaviorプロパティで設定した調整が行われるようにします。

    [Visual Basic]
    ' 日付時刻コントロール
    GcDateTime1.AdjustValueOnFocus = True
    ' 日付コントロール
    GcDate1.AdjustValueOnFocus = True
    ' 時刻コントロール
    GcTime1.AdjustValueOnFocus = True

    [C#]
    // 日付時刻コントロール
    GcDateTime1.AdjustValueOnFocus = true;
    // 日付コントロール
    GcDate1.AdjustValueOnFocus = true;
    // 時刻コントロール
    GcTime1.AdjustValueOnFocus = true;

    または、ボタンコントロールのUseSubmitBehaviorプロパティをFalseに設定することでも回避可能です。

    [Visual Basic]
    Button1.UseSubmitBehavior = False

    [C#]
    Button1.UseSubmitBehavior = false;