我正在开发一个从SQL Server中提取数据的Asp.Net C#Web应用程序。我正在使用一个文本框,其属性设置为用于选择日期的日期,我需要一个方法或代码来禁止用户选择从现在开始的过去一天?
或者当用户选择日期并单击保存时,数据库必须给出错误,以便用户选择将来的日期而不接受已保存的日期。
非常感谢任何帮助。
答案 0 :(得分:2)
您可以从jquery进行设置。
jQuery(function ($) {
$("#datepicker").datepicker({
showOtherMonths: true,
selectOtherMonths: false,
});
});
此代码将帮助您不选择以前的日期。
答案 1 :(得分:2)
感谢@jeffrey使用您提供的示例代码我能够在下面找到一个可行的解决方案。
protected void Btn_Save_Click(object sender, EventArgs e)
{
DateTime inputDateTime = Convert.ToDateTime(TextBox1.Text);
if (inputDateTime < DateTime.Now)
{
Error.Text=("You Cannot Save A Past Date");
}
else
{
period cv = new period();
cv.PeriodStart = Convert.ToDateTime(TextBox1.Text);
cv.CreateAgent = Convert.ToString(SessionName.Text);
cv.CreateDate = DateTime.Now;
ZS_CS_EVO_IntegrationEntities db = new ZS_CS_EVO_IntegrationEntities();
db.periods.Add(cv);
db.SaveChanges();
Error.Text = ("Date Saved Successfully");
}
}
答案 2 :(得分:1)
好吧,拥有一个文本框只会保存日期值,您的验证逻辑(不允许保存过去的日期)应该在可能的表单提交事件或文本框鼠标点击事件中实现。它可能就像
DateTime inputDateTime = convert.ToDateTIme(TextBox1.Value);
if (inputDateTime<DateTime.Now)
{
Throw Exceptoin("you have entered the wrong value");
}
else
{
save...
}
答案 3 :(得分:0)
我建议您使用DateTime比较文本框的数据,然后只允许等于或高于它的值。这样就可以在限制它们时阻止不受欢迎的值。