Asp.net mvc 在ASP.NET MVC扩展的Telerik网格列中显示0001年
ASP.NET MVC的Telerik扩展。我们的应用程序广泛使用日期,如01/01/0001 DateTime.MinValue。请不要问为什么不能为空?。是的,你是对的,但是有很多工作要重写所有的东西,所以我们需要一个临时的解决方案 当前日期如“01/01/0001”在下栏中显示为“01/01/1”:Asp.net mvc 在ASP.NET MVC扩展的Telerik网格列中显示0001年,asp.net-mvc,telerik-mvc,Asp.net Mvc,Telerik Mvc,ASP.NET MVC的Telerik扩展。我们的应用程序广泛使用日期,如01/01/0001 DateTime.MinValue。请不要问为什么不能为空?。是的,你是对的,但是有很多工作要重写所有的东西,所以我们需要一个临时的解决方案 当前日期如“01/01/0001”在下栏中显示为“01/01/1”: columns.Bound(p => p.EffectiveSince).Width(50).Format("{0:MM/dd/yyyy}"); 如果在某一行单击“编辑”,只需按“更新
columns.Bound(p => p.EffectiveSince).Width(50).Format("{0:MM/dd/yyyy}");
如果在某一行单击“编辑”,只需按“更新”,而不进行任何修改,则该日期“01/01/1”将保存为01/01/2001,这将破坏逻辑。但如果手动键入“01/01/0001”,则会按预期保存。所以,telerik吃前导零
您能否建议此问题的解决方案,如何显示01/01/0001而不是01/01/1?是的,我知道nullable,另一个解决方案。找到了原因,telerik吃了前导零。只需祝福telerik.common.min.js并搜索字符串yyyy:aO。aO是getFullYear返回的年份。这就是为什么像“01/01/0001”这样的所有日期都转换为01/01/1的原因,这会导致显示/发送/保存此类日期时出现问题。Telerik的formatString函数以“yyyy”格式显示年份,与C string.format不同。修复很容易。换衣服 yyyy:aO//0001年==1 到 yyyy:'0000'+aO.slice-4//0001年=0001