2012-04-01 17 views
1

Ich benutze RedirectToAction, um nach einem Beitrag zu einem anderen Controller umzuleiten und es funktioniert. Also habe ich versucht, zu einer anderen Aktion im selben Controller umzuleiten und es funktioniert auch nicht.RedirectToAction wird überhaupt nicht umgeleitet

public ActionResult finalize(int id) 
    { 
     Meeting meeting = db.Meetings.Find(id); 
     meeting.meetingStatus = "finalized"; 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 

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

    [HttpPost] 
    public ActionResult Create(Meeting meeting) 
    { 
     if (ModelState.IsValid) 
     { 
      db.Meetings.Add(meeting); 
      db.SaveChanges(); 
     // return RedirectToAction("Invitation"); 
      return (RedirectToAction("finalize", new { id = meeting.meetingID})); 
     } 

     return View(meeting); 
    } 
+1

Sind Sie sicher, dass es eine 'Index' Methode in Ihrem Controller? Was meinst du mit "es funktioniert nicht" Was passiert? Ein Fehler? – gideon

+0

Ja, es gibt eine Index-Methode in meinem Controller und seine Umleitung zu Index ohne Umleitung, um zuerst zu finalisieren. –

+0

was machst du damit, dass es nicht funktioniert? Was geschieht? Haben Sie versucht, den Code bei Ihrem 'Redirect'-Aufruf zu debuggen? – gideon

Antwort

0

Sie 2 Umleitungen im gleichen Anruf kann nicht, eine Umleitung nur einen HTTP-Redirect-Code auf eine andere Seite zurückzukehren, Umleitung 2 mal gerade nicht funktionieren, nicht behandeln Aktionsmethoden wie normale Methoden, die sie unterschiedlich sind

zum Beispiel, wenn Sie eine Seite example.com/controller/action anfordern

action wird ausgeführt und zum Beispiel hat es einen Rückgabewert mit RedirectToAction("NotFound")

was in diesem Szenario passieren wird, ist

action Körper ausgeführt wird, und der Rückgabewert an den Client einen HTTP-Header von 302 senden, dass Ihr neues Ziel sagt, ist /controller/NotFound

so RedirectToAction nur einen HTTP-Code an den Client zurückgeben seine nicht eine andere Methode aufruft


aktualisieren

ich falsch war ich mit fiddler2 geprüft, können Sie redi verwenden rect to action viele Male, was wird passieren, der Server wird mehrere http Redirect-Header für jede

senden

Ich sprang zum Abschluss so schnell, weil ich dachte nicht, mehrere Umleitung ist der richtige Weg, es zu tun, also nachdem ich es versucht habe, Ich kann sagen, es funktioniert, erstellen Sie einfach ein neues Projekt, um zu sehen, wo das Problem genau ist oder ein Werkzeug wie fiddler2

Verwandte Themen