2017-02-22 4 views
0

Ich möchte eine Seite mit wenigen Parametern umleiten. Wenn ich es jedoch versuche, indem ich RedirectToAction() zurückgebe, wird die Seite nicht funktionieren. Hier ist der Code:Umleiten mit Ansicht mit Parameter funktioniert nicht (ASP.NET Core)

-Controller Home, Aktion Display:

public IActionResult Display() 
{ 
    return RedirectToAction("Display", new 
     { 
      token = "2a4d237b-e2db-4ffe-ae42-787ae4e7566c", 
      id = "abcdefgh", 
      display = "Default" 
     }); 
} 

Ansicht

<a asp-area="" asp-controller="Home" asp-action="Display">Link</a> 

Wenn ich View() im Display() Methode in der Heimsteuerung zurückzukehren, dass wotks Fein die Seite geladen ist .

public IActionResult Display() 
{ 
    return View(); //this works 
} 
+0

Du Umlenken auf die gleiche Aktion auf dem gleichen Controller, Stapelüberlauf Ausnahme? Erstellen Sie eine zweite Methode, die die angegebenen Parameter übernimmt, und geben Sie dann die Ansicht von dieser zurück. – ganders

Antwort

0

nicht sicher, was Sie erreichen möchten. Wenn Sie auf eine Aktion im selben Controller umleiten möchten, müssen Sie den Namen Ihrer Aktion angeben, die die Ansicht zurückgibt. In Ihrem obigen Code werden Sie zur selben Aktion weitergeleitet. Werfen Sie einen Blick auf diese Antwort here

+0

Problem ist, dass wenn ich um denselben Controller aber mit Parametern umadressiere. Allerdings habe ich einen Weg gefunden: In der View erwähne ich die Parameter der Route und im Controller gebe ich einfach die View() zurück. –

Verwandte Themen