Problembehebung Untergeordnete Aktionen dürfen keine Umleitungsaktionen ausführen, andere Antworten können nicht behoben werden

ASP.NET MVC2-Ansicht:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcMusicStore.ViewModels.PaymentViewModel>" %>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    ...
    <form action="<%= Html.Action("PaymentByBankTransfer", "Checkout") %>" >
    <input type="submit" value="Payment by bank transfer" />
    </form>

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);
     }

Das Drücken der Schaltfläche zum Senden des Formulars führt zu einer Ausnahme

Child actions are not allowed to perform redirect actions

Als Code zeigt sich die am meisten upvoted Antwort von

Wie erhalte ich eine ASP.NET MVC Ajax-Antwort, um auf eine neue Seite umzuleiten, anstatt die Ansicht in UpdateTargetId einzufügen?

wird versucht, das Problem zu beheben, dies verursacht jedoch einen anderen Fehler: Der Browser versucht, die URL zu öffnenwindow.location = '/Checkout/CompleteOK'

Wie behebe ich diese Ausnahme? Alles sieht in Ordnung aus, es gibt keine Teilansichten wie in anderen Antworten beschrieben. Ich habe auch versucht, das Attribut method = 'post' in der Form zu verwenden, aber das Problem besteht weiterhin.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage