2010-02-13 95 views
0

工作在Asp.Net VS 08. 下面是我的代码Asp.Net结束日期大于开始日期

<asp:TextBox ID="txtSTART_DATE" runat="server"></asp:TextBox> 
    <cc1:PopupControlExtender ID="txtSTART_DATE_PopupControlExtender" runat="server" CommitProperty="value" 
      CommitScript="e.value += '';" PopupControlID="pnlSTART_DATE" 
      Position="Bottom" TargetControlID="txtSTART_DATE"> 
      </cc1:PopupControlExtender> 

      <asp:TextBox ID="txtEND_DATE" runat="server" 
     ontextchanged="txtEND_DATE_TextChanged"></asp:TextBox> 
    <cc1:PopupControlExtender ID="txtEND_DATE_PopupControlExtender" runat="server" CommitProperty="value" 
      CommitScript="e.value += '';" PopupControlID="pnlEND_DATE" 
      Position="Bottom" TargetControlID="txtEND_DATE"> 
      </cc1:PopupControlExtender> 

C#语法

protected void dtpSTART_DATE_SelectionChanged(object sender, EventArgs e) 
{ 
    AjaxControlToolkit.PopupControlExtender.GetProxyForCurrentPopup(this.Page).Commit(dtpSTART_DATE.SelectedDate.ToString("dd MMM yyyy"));//Set the value 
} 

protected void dtpEND_DATE_SelectionChanged(object sender, EventArgs e) 
{ 
    AjaxControlToolkit.PopupControlExtender.GetProxyForCurrentPopup(this.Page).Commit(dtpEND_DATE.SelectedDate.ToString("dd MMM yyyy"));//Set the value 
} 

想比较月底开始日期date.Verify结束日期大于开始日期和今天date.How检查值?

+0

不要因为你还没有得到答案而多次提出相同的问题。耐心一点。 – Gumbo 2010-02-13 11:43:50

回答

2

您可以使用asp.net CompareValidator,例如

<asp:TextBox ID="txtSTART_DATE" runat="server" /> 
<asp:TextBox ID="txtEND_DATE" runat="server" /> 
<asp:CompareValidator ID="cmpDates" ControlToValidate="txtEND_DATE" 
    ControlToCompare="txtSTART_DATE" Operator="GreaterThan" Display="dynamic" 
    ErrorMessage="End date must be after start date" runat="server" /> 

虽然这不会做弹出式窗口,但是如果你只是在验证器之后,那应该没问题。

的比较验证实际上是非常强大的,例如,您可以检查参数的数据类型一样,所以我会用这样的:

<asp:TextBox ID="txtSTART_DATE" runat="server" /> 
<asp:CompareValidator ID="chkStartIsDate" runat="server" Display="Dynamic" 
    Operator="DataTypeCheck" Type="Date" ControlToValidate="txtSTART_DATE" 
    ErrorMessage="You must supply a valid start date" /> 
<asp:TextBox ID="txtEND_DATE" runat="server" /> 
<asp:CompareValidator ID="chkEndIsDate" runat="server" Display="Dynamic" 
    Operator="DataTypeCheck" Type="Date" ControlToValidate="txtEND_DATE" 
    ErrorMessage="You must supply a valid end date" /> 
<asp:CompareValidator ID="cmpStartAndEndDates" runat="server" Display="Dynamic" 
    Operator="GreaterThan" ControlToValidate="txtEND_DATE" ControlToCompare="txtSTART_DATE" 
    ErrorMessage="The end date must be after the start date" /> 
0
<asp:TextBox ID="txtStartDate" runat="server" /> 
<asp:TextBox ID="txtEndDate" runat="server" /> 
<asp:CompareValidator ID="cvStartEnd" Operator="GreaterThan" Type="Date" 
    ControlToValidate="txtEndDate" ControlToCompare="txtStartDate" 
    ErrorMessage="End date must be greater than start date!" runat="server"/> 

确保设置属性Type="Date"否则它会做一个字符串比较并给出错误的结果。

相关问题