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?

BenGC
quelle

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");
}
Der Scrum Meister
quelle
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.

Femaref
quelle
11

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

return RedirectToAction("ActionName", "ControllerName");
Soheil Soheili
quelle
1
return RedirectToAction("ActionName", "ControllerName");
Siby Sunny
quelle
würde helfen, wenn Sie einen Kontext und eine Erklärung angeben, warum dies funktionieren würde.
Jwenting