У меня есть 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");
}
Кнопки работают, но не при вызове из события таймера ...