Как сослаться на Ведущее устройство Page от пользовательского элемента управления?

Каждый раз, когда вы нажимаете кнопку сброса , создается новый интервал. Вот почему, когда вы нажмете кнопку Reset еще раз, ваш вывод на консоль станет беспорядочным.

Функция setInterval возвращает идентификатор созданного интервала, вы можете сохранить его в глобальной переменной, например window.timerInterval .

Внутри функции таймера сначала запустите clearInterval (window.timerInterval) . Поэтому, если есть какие-либо интервалы, созданные и сохраненные в window.timerInterval , clearInterval (window.timerInterval) обязательно прекратит его запуск.

Проверьте и запустите приведенный ниже рабочий пример:

function timer() {
  var t = 3;

  console.log("timer started t = " + t);

  clearInterval(window.timerInterval);

  window.timerInterval = setInterval(function() {
    if (t >= 0) {
      document.getElementById("timer").innerHTML = t;
      console.log(t);
      t--;
    } else {
      document.getElementById("timer").innerHTML = "Time Up!";
    }
  }, 1000);


  console.log("timer stopped t = " + t);
}
<html>

<head>

  <script src=timer.js></script>

</head>

<body>


  <input type=Reset onclick=timer()> <br>

  <hi id="timer"></hi> <br>

</body>

</html>

13
задан Bryan Denny 6 January 2009 в 14:15
поделиться

3 ответа

Попробовать Page.Master.

Whatever whatev = (Whatever)Page.Master;

Необходимо будет удостовериться, что Вы добавляете надлежащее using операторы к вершине Вашего файла, или квалифицируют встроенный тип страницы Master.

Один потенциальный глюк - то, если это управление используется другой страницей, основная страница которой НЕ является тем же типом. За это только ухватиться время выполнения.

18
ответ дан 1 December 2019 в 23:32
поделиться

Вы судили Page. FindControl ("имя") на usercontrol?

0
ответ дан 1 December 2019 в 23:32
поделиться

Лучший способ сделать это, что я нашел, на самом деле является на самом деле для создания пользовательского класса, который основан на USERCONTROL, придайте ему главную недвижимость с помощью Accessiver, который рыбы через this.page.parent до тех пор, пока он не перестает встречаться Главные страницы (если вы вложены, этот шаг не нужен в противном случае), а затем верните этот веб-контроль как тип главной страницы, которую вы хотите использовать. Затем, когда вы добавляете новый пользовательский контроль, измените его базовый класс на имя вашего пользовательского класса. Свойство .master будет доступным и правильно размещаться как главная страница, которую вы хотите использовать.

0
ответ дан 1 December 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: