對於日期選擇,我們經常使用 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