#.net #.net-core #webforms
Вопрос:
Я занимаюсь некоторыми вещами .Net для приложения.У меня есть веб-форма с одной кнопкой и меткой,здесь я должен обновлять сообщение о какой-либо метке каждую секунду.таким образом, я могу видеть журнал времени выполнения в веб-форме.У меня есть очень простая веб-форма с кнопкой и меткой, но ярлык не обновляется.
Как только я нажму на кнопку «Отправить», @MyTimerEventHandler будет вызываться каждую секунду.
можете ли вы подсказать, как сделать так, чтобы я видел журнал времени выполнения в веб-форме с помощью метки или текстового поля.
protected void Page_Load(object sender, EventArgs e)
{
// To update the first time.
Label2.Text = "hello";
}
private void MyTimerEventHandler(object source, System.Timers.ElapsedEventArgs e)
{
nTotalSeconds = nIntervalInSeconds;
Label2.Text = "timer " nTotalSeconds.ToString();
System.Diagnostics.Debug.WriteLine("called");
}
protected void Button2_Click(object sender, EventArgs e)
{
System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Elapsed = new System.Timers.ElapsedEventHandler(MyTimerEventHandler);
myTimer.Interval = nIntervalInSeconds * 1000;
myTimer.Start();
}
Ответ №1:
Попробуйте использовать asp:ScriptManager и asp:панель обновления.
Html (.aspx)
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Timer runat="server" id="UpdateTimer" ontick="UpdateTimer_Tick" />
<asp:UpdatePanel runat="server" id="TimedPanel" updatemode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label id="Label1" runat="server" Text="1" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
Code behind
protected void Button2_Click(object sender, EventArgs e)
{
UpdateTimer.interval = 1000;
}
protected void UpdateTimer_Tick(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("called");
}
Комментарии:
1. Это обновление логики сценария, и я добавил метку с отметкой времени, поэтому я мог видеть, как время обновляется каждую секунду, но как мне обновить @System. Диагностика. Отлаживать. Строковый аргумент WriteLine для метки
2. protected void UpdateTimer_Tick(отправитель объекта, метки событий e) { Label1. Текст = «Вызвано» Дата и время.Сейчас(). toString(); }
3. Да, это обновление выполняется { Label1. Текст = «Вызвано» Дата и время.Сейчас(). toString(); }