<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RangeValidator ID="RangeValidator1" ControlToValidate="TextBox1" Display="Dynamic" Type="Date" Text="您输入的日期必须在当前日期的三个月内!" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />protected void Page_Load(object sender, EventArgs e)
    {
        RangeValidator1.MinimumValue = Convert.ToString(DateTime.Now);
        RangeValidator1.MaximumValue = Convert.ToString(DateTime.Now.AddMonths(3));
    }
protected void Button1_Click(object sender, EventArgs e)
    {
        if (IsValid)
        {
            Response.Redirect("Default.aspx");
        }
    }我没转换类型的时候报错:无法将类型“System.DateTime”隐式转换为“string”
 这样之后运行时不报错
  弹出的IE上显示:
“/Test”应用程序中的服务器错误。
“RangeValidator1”的“MaximumValue”属性的值“2009-2-9 20:24:09”无法转换为类型“Date”。 

解决方案 »

  1.   

    RangeValidator1.MinimumValue = Convert.ToString(DateTime.Now.Date); 
    RangeValidator1.MaximumValue = Convert.ToString(DateTime.Now.AddMonths(3).Date); 
      

  2.   

     RangeValidator1.MinimumValue = Convert.ToString(DateTime.Now.ToShortDateString());
            RangeValidator1.MaximumValue = Convert.ToString(DateTime.Now.AddMonths(3).ToShortDateString()); 这样就行了
      

  3.   

    谢谢 
    但是我想请教一下
    为什么我Convert.tostring()不行呢?
      

  4.   

    谢谢 
    但是我想请教一下
    为什么我Convert.tostring()不行呢?
      

  5.   

    Convert.tostring()里面的tostring要大写为Convert.ToString()