0

StartTextboxEndTextBox、およびの3 つのテキスト ボックスがありTextbox3、ここに がTextbox3含まれていますNo of Month。ここで、開始日と終了日の違いをチェックしたいと思いますNo of Month

カスタム検証関数は次のとおりです。

protected void ValidateDuration(object sender, ServerValidateEventArgs e)
{
    DateTime start = DateTime.Parse(StartTextBox.Text);
    DateTime end = DateTime.Parse(EndTextBox.Text);

    int months = (end.Month - start.Month) + 12 * (end.Year - start.Year);

    e.IsValid = months <= TextBox3;
}
4

2 に答える 2

0

monthsの値で(an int)をチェックする場合はTextBox3、最初に値をaとして取得し、stringそれを。に変換する必要がありintます。例えば:

protected void ValidateDuration(object sender, ServerValidateEventArgs e)
{
    DateTime start = DateTime.Parse(StartTextBox.Text);
    DateTime end = DateTime.Parse(EndTextBox.Text);

    int months = (end.Month - start.Month) + 12 * (end.Year - start.Year);
    int noOfMonth = int.Parse(TextBox3.Text);

    e.IsValid = months <= noOfMonth;
}
于 2012-04-29T06:02:56.390 に答える
0

オーバーライドされた操作を使用して、2 つの日付間の月数を取得できます - 2 つの日付間の期間を取得します。

    DateTime date1 = new DateTime();
    DateTime date2 = new DateTime();

    date1 = DateTime.Now;
    date2 = DateTime.Now.AddMonths(4);

    TimeSpan months = date2 - date1;

   Console.WriteLine(months.Days / 30);

このコード スニペットは 4 か月を表示します

あなたのコードのために:

e.IsValid = months <= Int32.TryParse(TextBox3.Text);
于 2012-04-29T06:18:53.960 に答える