我有三个文本框,StartTextbox
,EndTextBox
和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;
}
答案 0 :(得分:0)
如果您要检查months
(int
)的值为TextBox3
,则必须先将该值设为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;
}
答案 1 :(得分:0)
您可以使用重写操作获取两个日期之间的月数 - 以获得两个日期之间的时间跨度:
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);