2010-07-26 45 views
5

我使用RangeValidator来验证日期在默认日期格式中输入并且工作正常,但是现在我想要日期格式为“dd/MM/yyy”,但是它使用此日期格式生成日期格式。请提供给我的解决方案 我的代码:RangeValidator中的日期格式

在aspx页面:

<asp:TextBox ID="txtrequiredby" runat="server" ></asp:TextBox > 
<cc1:CalendarExtender ID="txtrequiredby_CalendarExtender" Format="dd/MM/yyyy" 
runat="server" Enabled="True" TargetControlID="txtrequiredby" > 
</cc1:CalendarExtender > 

<asp:RangeValidator ID="rvreqby" runat="server" ErrorMessage="Required By Date 
Greater Than or Equal to current date" ControlToValidate="txtrequiredby" 
Display="Dynamic" Type="Date" ></asp:RangeValidator > 

在代码隐藏:

rvreqby.MinimumValue = clsGeneral.FromSqlDate(DateTime.Now); 
rvreqby.MaximumValue = clsGeneral.FromSqlDate(DateTime.Now.AddYears(200)); 

public static string FromSqlDate(DateTime date) 
{ 
    return date.ToString("dd/MM/yyyy"); 
} 

回答

7

MinimumValue & MaximumValue需要在Page_PreRender事件进行设置,并出现需要的日期格式为“dd-MM-yy”...看最后发表于Rangevalidator Min Max Value error

protected void Page_PreRender(object sender, EventArgs e) 
{ 
    RangeValidator1.MinimumValue = DateTime.Now.Date.ToString("dd-MM-yy"); 
    RangeValidator1.MaximumValue = DateTime.Now.Date.AddYears(90).ToString("dd-MM-yy"); 
} 
2

格式的MinimumValue和MaximumValue应该是YYYY/MM/DD

检查文档在这里: https://msdn.microsoft.com/en-us/library/ydez7ad7(v=vs.110).aspx

+0

为我写我想要的日期格式是应用'MM/DD/yyyy'所以它应该是你应用程序需要的任何东西。并且你的链接被破坏 – Malachi 2015-07-30 15:23:37

+0

@Malachi:不,MinimimValue的格式应该始终为yyyy/MM/dd。验证器使用该格式进行验证。它独立于文化。 – 2015-07-31 06:23:03

+0

它在哪里说的?您链接的文章没有提到Date范围。 – Malachi 2015-07-31 13:47:28