Как изменить источник iFrame из события таймера - PullRequest
0 голосов
/ 24 июня 2019

У меня есть iFrame на странице aspx.Внутри этого кадра я пытаюсь переключаться между разными страницами в зависимости от логики.Он является частью системы двухфакторной аутентификации, где пользователи отправляют кучу ключей на свои устройства и должны выбрать правильный ключ.Затем эта страница предназначена для информирования пользователя о 1) правильном ключе и 2) отображении обратного отсчета оставшегося времени.Если время истекает, пользователи должны получить запрос, если они хотят повторить попытку или отменить или получить SMS-сообщение на свой телефон с новой страницы, показанной в iFrame.

По какой-то причине я не могу изменить источникэто кадр из таймера.На каждом тике я проверяю БД, чтобы узнать, был ли ответ предоставлен пользователем.Это отлично работает.Это изменение iFrame, которое не работает.

Я пробовал разные решения, предоставляемые через Интернет, но ни одно из них еще не работало.

У меня есть 3 кнопки отладки, которые изменяют свойство Src, и они работают как положено.Кажется, что то, что я делаю, нуждается в некоторой форме взаимодействия с пользователем.Вызов тех же функций из таймера не работает.

public HtmlControl Frame
        {
            get
            {
                return this.myFrame;
            }
        }        

private void GoToPage(Page page)
        {
            string pageName = string.Empty;

            switch (page)
            {
                case Page.Initialize:
                    pageName = "InitializePage";
                    break;
                case Page.Waiting:
                    pageName = "WaitingPage";
                    break;
                case Page.Select:
                    pageName = "SelectPage";
                    break;
                case Page.Error:
                    throw new Exception("This page does not exist yet");
                    break;
                default:
                    break;
            }

            this.Frame.Attributes.Add("src", $"Pages/{ pageName }.aspx");
        }

Кнопки работают, но не при вызове из события таймера ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...