【问题标题】:Validate ASP.net calendar control against current date根据当前日期验证 ASP.net 日历控件
【发布时间】:2012-09-16 03:54:39
【问题描述】:

我正在使用 ASP.net 日历控件,需要验证所选日期是否在当前日期之后。因此,如果用户尝试在日历上选择当前日期之前的日期,则会出错。

我该怎么做?

【问题讨论】:

  • 您使用的是实际的 .net 日历控件还是带有弹出日历的文本框?

标签: c# asp.net date calendar


【解决方案1】:

怎么样

if(calendercontroldate < DateTime.Now.Date)
{
    //Do something
}

【讨论】:

  • 注意,您如何处理时区差异? DateTime.Now.Date 返回服务器的本地时间,但如果用户所在的时区与服务器的日期不同怎么办?
【解决方案2】:

日历控件没有预定义的验证器。为此,您必须使用 CustomValidator

为您的日历控件添加一个 CustomValidator 并检查 CustomValidator 方法的 OnServerValidate 事件的日期

public void Custom_validaor_Validate(object sender, ServerValidateEventArgs e)
{
    if( calnderDate > DateTime.Now )
    {
        //Code here
    }
}

在您的提交按钮上单击检查页面是否已验证通过说

public void myButton_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        // the button click event executes even if the page isn't
        // valid, so you have to wrap your save event
        // in this kind of if block to avoid saving bad data to
        // to the database.
    }
}

【讨论】:

    猜你喜欢
    • 2011-02-22
    • 2013-09-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    相关资源
    最近更新 更多