Как исправить Дочерние действия не позволяют выполнять действия перенаправления, другие ответы не исправить

ASP.NET MVC2 вид:





    ...
    
    
    

CheckoutController:

    public ActionResult PaymentByBankTransfer()
    {
        var order = Session["Order"] as Order;
        ExecCommand(@"update dok set confirmed=true where order={0}", order.OrderId);
        return CheckoutCompleteOK();

        var cart = ShoppingCart.GetCart(HttpContext);
        cart.EmptyCart();
        // https://stackoverflow.com/questions/1538523/how-to-get-an-asp-net-mvc-ajax-response-to-redirect-to-new-page-instead-of-inser?lq=1
        return JavaScript("window.location = '/Checkout/CompleteOK'");
    }

    // common method called from other controller methods also
    public ActionResult CheckoutCompleteOK()
    {
        var cart = ShoppingCart.GetCart(HttpContext);
        cart.EmptyCart();
        // prevent duplicate submit if user presses F5
        return RedirectToAction("Complete");
    }

   public ActionResult Complete()
    {
        var order = Session["Order"] as Order;
        SendConfirmation(order);
        return View("PaymentComplete", order);
     }

нажатие кнопки отправки вызывает исключение

Child actions are not allowed to perform redirect actions

Как видно из кода, большинство ответов

Как получить ответ ASP.NET MVC Ajax для перенаправления на новую страницу вместо вставки представления в UpdateTargetId?

пытается исправить это, но это вызывает другую ошибку: браузер пытается открыть URLwindow.location = '/Checkout/CompleteOK'

Как исправить это исключение? Все выглядит хорошо, нет частичных представлений, как описано в других ответах. Я пытался также использовать метод = 'сообщение' атрибут в форме, но проблема сохраняется.

Ответы на вопрос(2)

Ваш ответ на вопрос