У меня есть метод действий, который устанавливает сообщение для ViewBag
и возвращается к HomePage, как,Показать ViewBag сообщение в течение нескольких секунд, а затем перенаправить на другое действие
ViewBag.errormsg = "Some Temporary message";
return RedirectToAction("Index", "Dashboard");
В соответствии с этим подходом пользователь не сможет чтобы увидеть ViewBag.errormsg
на этой странице, потому что он немедленно перенаправляется на панель мониторинга, но я хочу показать это сообщение в течение 1-2 секунд после перенаправления на панель мониторинга.
Я попытался с помощью Task.WaitAll();
метод, чтобы задержать вызов для RedirectToAction
как здесь,
ViewBag.errormsg = "Some Temporary message";
Task.WaitAll(Task.Delay(2000));
return RedirectToAction("Index", "Dashboard");
Но это довольно глупая работа, что ViewBag не будет отображаться сообщение, пока метод возврата не называется, Есть ли простой способ сделать это?
Я думаю, что TempData
не подходит в моем случае, потому что я не хочу показывать это сообщение ViewBag для HomePage, оно должно отображаться на текущей странице.
Единственный способ остаться на одной странице - использовать ajax. (нет смысла помещать что-либо в «ViewBag», а затем перенаправлять - его сразу же потерять) –
@StephenMuecke Могу ли я перенаправить (сразу или после некоторой задержки) на другую страницу в некотором ответе с помощью Ajax и JQuery? – Nis
Вы можете сделать ajax-вызов, получить ответ, чтобы обновить существующую страницу и использовать таймер javascirpt для перенаправления через 2 секунды, но почему? Чего вы пытаетесь достичь? –