В окне оплаты Когда клиент нажимает кнопку оплаты, я хочу запустить таймер. И если обработка платежа занимает больше, чем, скажем, 5 секунд, я хочу перенаправить на страницу. Ниже я об этом подумал.Установить таймер на веб-сайте ASP.net mvc
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SavePayment(PaymentFormMV data)
{
if (Session["startTime"] == null)
{
Session["startTime"] = DateTime.Now;
}
var ticksRemaining = DateTime.Now - (DateTime)Session["startTime"];
int x = int.Parse(ticksRemaining.ToString()); // Format Unhandled exception
if(x == 5)
{
return RedirectToAction("Index", "Home");
}
// Payment Logic Here to 3rd Party API
return View("PaymentConfirmation", returnData);
}
Но это не работает, как я ожидаю, когда я вычисляю ticksRemaining. Мне нужно какое-то оформление или что-то здесь. Я новичок в развитии, пожалуйста, помогите мне. Я просто хочу увидеть продолжительность времени между нажатием кнопки и текущим временем. Если он пересекает 5 секунд, я хочу перенаправить пользователя на новую страницу.
Что Исключение это бросать? Почему бы не сделать это как что-то на клиенте, где страница запрашивает перенаправление? Однако при любом решении вы не будете останавливать выполнение любой длительной задачи. Теперь, когда у вас есть это, пользователь должен будет дважды щелкнуть кнопку, чтобы что-нибудь сработать. – krillgar
«Я получаю исключение» - как вы думаете, было бы полезно включить в сообщение хотя бы сообщение об исключении? – Igor
@krillgar: Я начинаю пытаться учиться. Можете ли вы посоветовать мне, если это лучше сделать на стороне клиента. если да, то можете ли вы предоставить какую-либо ссылку. И я редактировал свой код. Видимо, мой подход неверен. – Unbreakable