【发布时间】:2011-02-21 16:01:06
【问题描述】:
我有一个 asp.net 网页,上面有一个 jQuery 日期选择器。
我在英国,所以当我输入 28/02/2010 时,我希望它解析为 28th Feb 2010。
这在我的本地开发环境中按预期工作 - 但在我们的 QA 或类似产品的环境中 - 或其他开发机器之一。在这些情况下,它似乎试图将其解析为美国日期格式 - 并且由于超出范围而无法验证。
jQuery 似乎每次都生成正确的日期 - 这让我认为这可能是数据库问题。
我使用的是SQL Server 2005,我的排序规则是Latin1_General_CI_AS,我的同事使用的是排序规则SQL_Latin1_General_CP1_CI_AS,并且是中文的。
鉴于我们无法控制 prod SQL Server 安装(只是我们的数据库),以标准方式使其工作的最佳方法是什么?更改数据库设置,或使用它的代码?
提前致谢! - L
[编辑以添加代码信息]
这是我调用日期选择器的视图代码:
<%=Html.TextBox("DateOfBirth", Model.DateOfBirth.ToShortDateString(), new { @class = "datepicker" })%>
这里是日期选择器的 js:
DatePickerSettings = {
setup: function () {
$(".datepicker").datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
});
}
};
这就是我在模型中指定日期的方式:
[Required]
[DisplayName("Date of Birth")]
public virtual DateTime DateOfBirth { get; set; }
日期在控制器和存储库中显示正确...直到它到达数据库。
谢谢:)
【问题讨论】:
-
您没有告诉我们有关您用来与数据库通信的代码的任何信息。示例代码真的很有帮助。您也没有提到您在 middle 位 - ASP.NET - 在 jQuery 和数据库之间看到的数据。
-
@Jon - 谢谢我现在更新了。
标签: asp.net sql-server collation