问题描述
我正在尝试在 blazor 网页中设置实时 DateTime。我尝试使用 Datetime.Now 。它没有更新实时时间。我想在不使用 javascript 的情况下做到这一点。
对这个问题有什么帮助吗?
解决方法
你需要一个计时器。我能想到的最短样本:
@page "/"
@using System.Threading
@implements IDisposable
<p>@theTime</p>
@code{
string theTime;
Timer aTimer;
protected override void OnInitialized()
{
aTimer = new Timer(Tick,null,1000);
}
private void Tick(object _)
{
theTime = DateTime.Now.ToLongTimeString();
InvokeAsync(StateHasChanged);
}
public void Dispose()
{
aTimer?.Dispose();
}
}