我有一个文本框,其中存储了ValidFrom表单值的值:
31.01.2012
并将文化设置为:
<globalization culture="en-GB" uiCulture="en-GB"/>
在 web.config 文件中。
现在,ObjectDataSource 更新方法:
public static void UpdateLac(int id, DateTime ValidFrom)
{
/// ...
}
当我遇到无法解析字符串的异常时,测试失败了。然而,在格式dd.mm.yyyy (31.01.2012)中的日期是有效的 en-GB 格式,并且可以被解析(据我所知)。我使用以下代码进行测试:
DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture("en-GB").DateTimeFormat;
var date = DateTime.Parse("31.01.2012", dtfi);
Console.Write(date.ToLongDateString());
为什么在这个例子中,ObjectDataSource内部转换无法将字符串(31.01.2012)转换为日期时间?请注意不要删除HTML标签。