2012-02-23 51 views

回答

3

我终于得到它的工作是这样的:

<asp:Calendar ID="startCalendar" CssClass="startDate" 
    OnSelectionChanged="Selection_Changed" runat="server"></asp:Calendar> 
<asp:CustomValidator ID="dateCustVal" OnServerValidate="DateCustVal_Validate" 
    runat="server"></asp:CustomValidator> 

protected void DateCustVal_Validate(object source, ServerValidateEventArgs args) 
{    
    if (startCalendar.SelectedDate == null 
     || startCalendar.SelectedDate == new DateTime(0001, 1, 1, 0, 0, 0)) 
    { 
     args.IsValid = false; 
    } 
    else 
    { 
     args.IsValid = true; 
    } 
} 
+0

'args.IsValid = startCalendar.SelectedDate!= default(DateTime);' – bdimag 2015-02-19 19:41:06

1

我认为你应该使用Ajax控件工具包(downloadale:http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/) 然后你可以根据需要设置你的日历的格式。一个例子是这样的:

<ajaxToolkit:Calendar runat="server" 
TargetControlID="Date1" 
CssClass="ClassName" 
Format="MMMM d, yyyy" 
PopupButtonID="Image1" /> 

如果你需要确保的日期已被选定,那么你就可以做到以下几点:

<ajaxToolkit:ValidatorCalloutExtender 
runat="Server" 
ID="PNReqE" 
TargetControlID="Date1" 
Width="350px" 
HighlightCssClass="highlight" 
CssClass="CustomValidatorCalloutStyle" 
PopupPosition="Right" 
WarningIconImageUrl="warning.gif" 
CloseImageUrl="close.gif" /> 
+0

不幸的是,这不是一个选项... – IrishChieftain 2012-02-23 14:51:33