现在的位置: 首页 > 综合 > 正文

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

2013年08月01日 ⁄ 综合 ⁄ 共 2260字 ⁄ 字号 评论关闭
        对于日期选择,我们经常使用 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)来绑定验证日期的脚本。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1534780 

抱歉!评论已关闭.