Dans la fenêtre de paiement Lorsque le client clique sur le bouton de paiement, je veux démarrer un minuteur. Et si le traitement des paiements prend plus de 5 secondes, je veux rediriger vers une page. Voici ce que je pouvais penser.Régler la minuterie dans le site Web 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);
}
Mais cela ne fonctionne pas comme prévu lorsque je calcule ticksRemaining. Ai-je besoin de quelque chose ou quelque chose ici? Je suis nouveau au développement s'il vous plaît me guider. Je veux juste voir la durée entre le clic du bouton et l'heure actuelle. Si elle traverse 5 secondes, je veux rediriger l'utilisateur vers une nouvelle page.
Qu'est-ce que l'exception est-il lançaient? Pourquoi ne pas le faire comme quelque chose sur le client où la page demande une redirection? Cependant, avec l'une ou l'autre solution, vous n'arrêterez pas l'exécution d'une tâche longue. La façon dont vous l'avez configuré maintenant, l'utilisateur devrait cliquer deux fois sur le bouton pour que quelque chose fonctionne. – krillgar
"Je reçois l'exception" - pensez-vous que l'inclusion d'au moins un message d'exception dans votre question serait utile? – Igor
@krillgar: Je suis débutant en train d'apprendre. Pouvez-vous me guider s'il vaut mieux le faire du côté client. Si oui, pouvez-vous fournir un lien? Et j'ai édité mon code. Apparemment, mon approche n'est pas correcte. – Unbreakable