0

次のような日付範囲属性を作成しました。

[DateRange(Min = "Today")]

この属性内で、次のような最小日付を取得します。

...
var minDate = DateTime.Now;
...

編集:ここにもっとコードがあります:

private DateTime _minDate = DateTime.Today.AddYears(-100);
private DateTime _maxDate = DateTime.MaxValue;

// String representation of the Min Date (yyyy/MM/dd)
public string Min
{
    get { return FormatDate(_minDate, DateTime.Today.AddYears(-100)); }
    set { _minDate = value == "Today" ? DateTime.Today : ParseDate(value, DateTime.Today.AddYears(-100)); }
}
// String representation of the Max Date (yyyy/MM/dd)
public string Max
{
    get { return FormatDate(_maxDate, DateTime.MaxValue); }
    set { _maxDate = value == "Today" ? DateTime.Today : ParseDate(value, DateTime.MaxValue); }
}

属性の性質上、minDate はコンパイル時に 1 回だけ設定されます。この機能を実装する別の方法を教えてもらえますか?

4

1 に答える 1

0

CustomValidatorを使用します。

そういえば、内容(minDate)をvolatileとマークしたらどうなるでしょうか? 実行して、動作するかどうかを報告してください。それが機能する場合は、自分で更新する必要があります。

于 2013-02-26T08:59:40.597 に答える