Zle działające zwracanie widoku

0

Napisałem ViewReturner, ktory powinien zwracac to samo co kod w case"-", jednak w case"+" odswieza widok, przywraca go do postaci ze startu. Nie do końca wiem dlaczego sie tak dzieje, w obu caseach jest ten sam widok Index. Kod jest identyczny, powinien niby zwracać to samo. Gdzie popełniłem błąd?

    public ViewResult ViewReturner(double firstNumber,double secondNumber,
                                   double result,string cal)
                           {
                             ViewBag.firstNumber = firstNumber.ToString();
                             ViewBag.secondNumber = secondNumber.ToString();
                             ViewBag.Sum = result.ToString();
                             return View("~/Views/Math/Index.cshtml");
                           }

    public ActionResult Index(double? firstNumber, double? secondNumber,  string cal)
    {
        if (firstNumber.HasValue && secondNumber.HasValue)
        {
        double result;

            switch (cal)
            {
                case "+":
                    result = firstNumber.Value + secondNumber.Value;
                    ViewReturner(firstNumber.Value,
                                 secondNumber.Value,result,cal);
                    break;
                case "-":
                    result = firstNumber.Value - secondNumber.Value;
                    ViewBag.firstNumber = firstNumber.ToString();
                    ViewBag.secondNumber = secondNumber.ToString();
                    ViewBag.Sum = result.ToString();
                    return View();
0

Może spróbuj zmienić wywołanie akcji w tym case'ie na return RedirectToAction(...)

1 użytkowników online, w tym zalogowanych: 0, gości: 1