c# - Blazor Webassembly 在 UI 中显示错误的时间
问题描述
我正在开发我的应用程序.Net 5.0 Blazor WebAssembly
。我在 HTML 中显示当前时间。但显示的时间始终-5.30 Hrs
是我系统时钟中显示的时间。
经过一番谷歌搜索后,我在官方文档中找到了以下内容。
我在文件中添加了以下标签,.csproj
但仍然没有运气。
这是我的代码:
.csproj:
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>
<InvariantGlobalization>true</InvariantGlobalization>
<ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="5.0.0" />
<PackageReference Include="System.Net.Http.Json" Version="5.0.0" />
</ItemGroup>
代码:
@using System.Threading
@implements IDisposable
<p>@CurrentDateTime</p>
@code {
private Timer _timer;
public string CurrentDateTime { get; set; }
protected override void OnAfterRender(bool firstRender)
{
if (firstRender)
{
_timer = new Timer(DateTimeCallback, null, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1));
}
}
private async void DateTimeCallback(object state)
{
CurrentDateTime = DateTimeOffset.UtcNow.ToLocalTime().ToString("dd MMM yyyy hh:mm:ss tt");
await InvokeAsync(StateHasChanged);
}
public void Dispose()
{
_timer?.Dispose();
}
}
时间截图:
请协助我缺少什么。
解决方案
Microsoft.AspNetCore.Components.WebAssembly
从版本更新和Microsoft.AspNetCore.Components.WebAssembly.DevServer
nuget 包后,问题得到5.0.0
解决5.0.1
推荐阅读
- flutter - BannerAd.dispose 不工作颤振 Admob
- amazon-web-services - AWS Cloudformation 有条件地创建资源
- wpf - 无法设置未知成员 'System.Windows.Controls.TextBox.IsReadOnly
- java - Java并发 - 如何在方法参数上同步
- scala - 如何使这些函数定义干燥?
- reactjs - 如何使用 React Recoil selectorFamily 存储查询结果?
- node.js - 如何在for循环内返回对象
- javascript - 定义一个常量,而不是将这个文字复制 3 次声纳
- javascript - JavaScript 邮件主题/消息自动填充
- c - 为什么变量地址不变-c编程