ASP.NET MVC 3 - Umleiten zu einer anderen Aktion


70

Ich möchte die Index-Aktion des Home-Controllers auf die Aktion eines anderen Controllers umleiten und sonst nichts. Mein Code lautet also:

    public void Index()
    {
        //All we want to do is redirect to the class selection page
        RedirectToAction("SelectClasses", "Registration");
    }

Im Moment lädt dies nur eine 0 kB leere Seite und tut nichts. Ich habe das Gefühl, dass es etwas mit diesem ungültigen Rückgabetyp zu tun hat, aber ich weiß nicht, in was ich ihn sonst ändern soll. Was ist das Problem hier?

Antworten:


148

Ihre Methode muss einen ActionResultTyp zurückgeben:

public ActionResult Index()
{
    //All we want to do is redirect to the class selection page
    return RedirectToAction("SelectClasses", "Registration");
}

Und falls Sie einige Parameter übergeben müssen: return RedirectToAction ("ActionName", "ControllerName", new {id = 99, name = "sample"});
Leo

20

Sie müssen das Ergebnis von zurückgeben RedirectToAction.



11

Sie müssen diesen Code schreiben, anstatt View () zurückzugeben. ::

return RedirectToAction("ActionName", "ControllerName");

1
return RedirectToAction("ActionName", "ControllerName");

würde helfen, wenn Sie einen Kontext und eine Erklärung angeben, warum dies funktionieren würde.
Jwenting
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.