Ranjit Kumar Mahto Ответов: 1

Как я могу запустить таймер обратного отсчета после нажатия кнопки в ASP.NET?


Я хочу запустить таймер обратного отсчета после нажатия кнопки Отправить, а не после загрузки страницы
protected void Timer1_Tick(object sender, EventArgs e)
        {
            if (TimeAllSecondes > 0)
            {
                TimeAllSecondes = TimeAllSecondes - 1;
            }

            TimeSpan time_Span = TimeSpan.FromSeconds(TimeAllSecondes);
            hh = time_Span.Hours;
            mm = time_Span.Minutes;
            ss = time_Span.Seconds;

            Label2.Text = "  " + hh + ":" + mm + ":" + ss;
        }

protected void Button1_Click(object sender, EventArgs e)
       {

      }


Что я уже пробовал:

Я попытался вызвать метод Timer1_Tick как Timer1_Tick(sender, e) в методе Button1_Click , но это не сработало.

F-ES Sitecore

Этот код никогда не будет работать, ваш браузер должен запросить html-код с сервера через запрос, который он затем показывает. Вы не можете "протолкнуть" контент в браузер из вашего серверного кода, он должен быть запрошен, поэтому таймер обновления "Label2" на стороне сервера не будет обновлять Label2 на клиенте.

Вам нужно будет решить эту проблему с помощью клиентских сценариев и, возможно, немного ajax в зависимости от того, какова ваша цель. Если это просто для того, чтобы показать обратный отсчет или таймер, то google "javascript timer", и вы найдете множество примеров.

1 Ответов

Рейтинг:
2

Karthik_Mahalingam

попробовать это

protected void Page_Load(object sender, EventArgs e)
       {
           if (!Page.IsPostBack) {
               Timer1.Enabled = false;
           }
       }

       protected void Button1_Click(object sender, EventArgs e)
       {
           Timer1.Enabled = true;
       }