2016-06-07 13 views
0

Um mir zu helfen MVC auf .NET zu lernen, versuche ich, einen grundlegenden Rechner zu implementieren.Wie Postback in MVC .NET in einer anderen Aktionsmethode als Index Aktionsmethode in einem bestimmten Controller

Aber ich habe festgestellt, dass die Standardroute für die Indexmethode des HomeController konfiguriert ist.

Wenn ich eine andere ActionResult mit einem [HttpGet] und [HttpPost] schaffen, zum Beispiel

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

Als ich diese Seite zu öffnen und in meinen Wert für die Berechnung setzte, leitet die Seite an die Index Methode von HomeController.

Wie kann ich zurück auf die gleiche Seite umleiten. Soll ich die RouteConfig-Datei ändern?

+0

Die Standardroute dient zum Anzeigen der ersten Seite, wenn Sie das Programm ausführen. Es sollte also nicht andere 'ActionResult' 'return View();' betreffen, da 'return View();' zu einer eigenen Ansicht zurückkehrt mit dem gleichen Namen (es sei denn, Sie geben an, wohin es zurückkehrt). Können Sie uns bitte Ihren Code anzeigen lassen? –

Antwort

0

Ich bin ein Neuling auch, aber ich denke, man kann die folgende

Return RedirectToAction tun („Rechner“);

0

Es hängt davon ab, wie Ihre Ansicht aussieht, aber das eigentliche Ziel ist, nur eines zu tun: POST auf die richtige Aktion.

würde ich für Ihre Zwecke sagen Sie weg mit so etwas wie

bekommen
@using(Html.BeginForm("Calculate", "Home", FormMethod.Post)) 
{ 
    @Html.TextBox("A"); 
    @Html.TextBox("B"); 
    @Html.TextBox("Operation"); 

    <input type="submit" value="Calculate!"> 
} 

Beachten Sie, dass das ein bisschen zu ändern brauchen, aber Sie bekommen die Idee. Weitere Informationen finden Sie unter MSDN!