NetAdvantage asp.net ——使用WebDateChooser在客户端验证开始日期与结束日期

来源:互联网 发布:c#高级编程第10版 微盘 编辑:程序博客网 时间:2024/06/06 01:33
对于日期选择,我们经常使用 WebDateChooser控件,当涉及到开始日期与结束日期的时候,就需要验证日期的合法性,这种情况在开发过程中经常遇到,所以我们可以编写一个通用的方法在客户端就验证日期的合法性,而不必等到提交到服务器才进行验证,方法如下:
public void BindCompareDateChoosers(Control userControl,Infragistics.WebUI.WebSchedule.WebDateChooser beginDateChooser, Infragistics.WebUI.WebSchedule.WebDateChooser endDateChooser)
        
{
           
            
string compareJS = "<script language=javascript>" +
               
"function CompareDate(oCalendar, newValue, oEvent) " +
               
"{" +
               
"  var dateChooserBegin = igdrp_getComboById('" + beginDateChooser.ClientID + "'); " +
               
"  var dateChooserEnd = igdrp_getComboById('" + endDateChooser.ClientID + "'); " +
               
"  if(oCalendar==dateChooserBegin.Calendar)" + 
               
"  {" +
               
"     var dateBegin=newValue;" +
               
"     var dateEnd = dateChooserEnd.getValue();" +
               
"     var dateEndText = dateChooserEnd.getText();" +
               
"     if(dateEndText!='---请选择---' && dateEndText!='' && dateBegin>dateEnd)" +
               
"     {" +
               
"        alert('选择日期区间时,起始日期不能晚于截止日期!'); " +
               
"        oEvent.cancel = true;" +
               
"     }" +
               
"  }" +
               
"  if(oCalendar==dateChooserEnd.Calendar)" +
               
"  {" +
               
"     var dateBegin=dateChooserBegin.getValue();" +
               
"     var dateEnd = newValue;" +
               
"     var dateBeginText = dateChooserBegin.getText(); " +
               
"     if(dateBeginText!='---请选择---' && dateBeginText!='' && dateBegin>dateEnd)" +
               
"     {" +
               
"        alert('选择日期区间时,起始日期不能晚于截止日期!'); " +
               
"        oEvent.cancel = true;" +
               
"     }" +
               
"  }" +
               
"}" +
               
"</script>";
            userControl.Page.ClientScript.RegisterStartupScript(userControl.GetType(), 
"CompareDate", compareJS);
            beginDateChooser.ClientSideEvents.CalendarValueChanging 
= "CompareDate";
            endDateChooser.ClientSideEvents.CalendarValueChanging 
= "CompareDate";

        }
我们可以在页面或者控件的Page_Load函数里直接调用BindCompareDateChoosers(this,beginDateChooser,endDateChooser)来绑定验证日期的脚本。
 
原创粉丝点击