2

我正在增强将在 EMEA 上使用的现有 Web 应用程序,在该应用程序中,我需要根据用户的全球区域在运行时将日期格式从“mm/dd/yyyy”更改为“dd/mm/yyyy”。

我的问题是我所需的验证不接受“dd/mm/yyyy”格式。

<asp:CompareValidator ID="cvDateReportCompleted" runat="server" ErrorMessage="Report Date is not in correct format" ControlToValidate="txtDateReportCompleted" Operator="DataTypeCheck" Type="Date" ValidationGroup="vgMain" Display="None"></asp:CompareValidator>

谁能提供处理此问题的详细信息以asp:CompareValidator接受“mm/dd/yyyy”或“dd/mm/yyyy”?

4

2 回答 2

4

在继续之前,您必须考虑这一点:

对于CompareValidator它将接受的日期非常特别。例如,以下日期被视为无效:

2001 年 1月 1 日 2001 年
1 月 1 日

CompareValidator 需要一个如下所示的日期:

2001
年 1 月 1 日 2001 年 1 月 1 日

http://www.informit.com/articles/article.aspx?p=25461&seqNum=5

解决方案:

默认情况下,格式ASP.Net CompareValidator不适用于dd/mm/yyyy格式,因此我们需要将页面的Culture属性更改为 ASP.Net 网页en-GB中的属性,@Pagedirective如下所示

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" 
Inherits="_Default" Culture = "en-GB" %>

现场演示

于 2013-01-16T07:55:43.980 回答
0

你需要设置Cultureaspx页面。

<%@ Page culture="your culture" %>.
于 2013-01-16T07:51:34.647 回答