![](/img/trans.png)
[英]How can I compare a date in C# to “1/1/0001 12:00:00 AM”)
[英]Blazor C# date shows as 1/1/0001 12:00:00Am
我对 Blazor 完全陌生,并且刚刚涉足一个项目。
我正在使用 ORM 从数据库中提取数据。 出于某种原因,当我返回数据时,它显示为 1/1/0001 12:00:00Am
这就是我从数据库中获取数据的方式
string sql = "Select top Value1, Value2, Value_DateTime from DBO.T_1";
return _db.LoadData<Model1, dynamic>(sql, new { });
这就是我尝试用值填充表的方式,in.Razor 页面
<td>@Value.Value_DateTime</td>
所有其他数据均正确显示。 当我在 SSMS 中运行查询时,它会显示正确的日期。
编辑:
Task<List<T>> LoadData<T, U>(string sql, U parameters);
问题可能是 SQL DateTime
数据类型与 C# System.DateTime
结构之间不兼容。 还有一个替代版本: System.Data.SqlTypes.SqlDateTime
结构 - 切换到 Model 中的该结构应该™ 解决您的问题。
相关摘录:
...
SqlDateTime
结构与其对应的 .NET 框架类型DateTime
具有不同的底层数据结构 ...
Blazor C# 日期显示为 1/1/0001 12:00:00Am
您正在显示尚未初始化的 DateTime。 在您的代码中的某处,您根本没有将数据从数据库移动到您随后显示的字段中。 可悲的是,您的代码非常不标准,我不会调试它 - 特别是因为不需要使用动态 - 但在某个地方你犯了一个错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.