日付時刻/日付/時刻コントロールで範囲外の値を入力すると例外が発生する場合がある
対象製品
InputMan for ASP.NET 8.0J
状況
修正済み
詳細
この現象は、MaxDate(MaxValue)およびMinDate(MinValue)プロパティを使用して値の範囲を設定した以下のコントロールで発生します。
日付時刻コントロール
日付コントロール
時刻コントロール
コントロールに範囲外の値が入力され、フォーカスを移動しない状態でポストバックが発生すると「MinDateからMaxDateまでを指定してください。」という例外が発生します。
同ページ上にボタンコントロールが配置されている場合など、コントロールからフォーカスを移動せずにEnterキーを押下するとポストバックが発生するため、この現象が発生します。
コントロールに範囲外の値が入力され、フォーカスを移動しない状態でポストバックが発生すると「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;
不具合を修正した最新のサービスパックは、アップデートページからダウンロードできます。
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;