2017-05-10 1 views
-1

J'ai eu un problème avec Visual Studio 2013. J'ai deux actions dans mon contrôleur: ActionResult VerifyRequest et ActionResult b.Pourquoi RedirectToAction() n'arrête pas l'action en cours?

public ActionResult VerifyRequest() 
     { 
        Utility.SessionKeys sessionKeys = new Utility.SessionKeys(); 
        Session.Add(sessionKeys.InvoiceNumber, result.OrderId); 
        payment.TrackingCode = result.VerifyResultData.SystemTraceNo; 
        payment.state = 3; 
        payment.Confirmed = true; 
        payment.Transactionsuccess = true; 
        db.Entry(payment).State = EntityState.Modified; 
        db.SaveChanges(); 
        melliBank.ResCode = result.VerifyResultData.ResCode; 
        melliBank.OrderId = result.VerifyResultData.OrderId; 
        melliBank.RetrivalRefNo = result.VerifyResultData.RetrivalRefNo; 
        melliBank.SystemTraceNo = result.VerifyResultData.SystemTraceNo; 
        melliBank.InvoiceDate = payment.IssueDate; 
        melliBank.Succeed = result.VerifyResultData.Succeed; 
        melliBank.Amount = result.VerifyResultData.Amount; 
        melliBank.Description = result.VerifyResultData.Description; 
        melliDB.InsertMelliBankLog(melliBank); 
        ReservType reserv = db.ReservTypes.Find(payment.ReserveType); 
        //string url = string.Format("{0}://{1}{2}{3}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"), reserv.ConfirmUrl); 
        //return Redirect(url); 
        return RedirectToAction(reserv.ConfirmUrl.Split('/')[1], reserv.ConfirmUrl.Split('/')[0]); 
       } 

    public ActionResult b() 
     { 
      return View(); 
     } 

Voici l'affaire: Quand j'utilise RedirectToAction ("b") de l'action "VerifyRequest" à l'action b après l'action de retour "VerifyRequest" réexécutez. Et aussi quand l'action b se termine, l'action "VerifyRequest" s'exécute aussi. Je ne sais pas comment résoudre ce problème et ce qui est bug. Aidez-moi, s'il vous plaît. Parfois « VerifyRequest » exécuter 4 fois après rediriger

+0

Il est assez étrange de voir votre cas ... peut-être qu'il a quelque chose à faire avec le vrai nom pour l'action 'a' et' b' car MVC fonctionne sur la convention de nommage et probablement 'a' est la route par défaut? – Ian

+0

effectivement ces noms sont des exemples. dans mon contrôleur j'utilise des noms différents –

+0

C'est tout .. Je veux dire. J'ai quelque chose à faire avec votre «vrai nom» et comment vous les acheminez ... – Ian

Répondre

0

Pour RedirectToAction nous devons passer le nom actionmethod essayez ceci: -

return RedirectToAction("b);