Frage

Ich glaube nicht, dass ich die AJAX -Funktionen in MVC ganz bekomme, weil ich dieses spannende Problem bekomme.

Ich habe den folgenden Code erhalten, der meinen Ajax -Anruf tätigt. Er wird in einer Teilansicht mit einer Produktliste gestellt:

                <% using(Ajax.BeginForm("AddToBasket", "Basket", 
                            new { productID = item.Id }, 
                            new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "Basket", OnSuccess = "productAdded(" + item.Id + ")" })) { %>
                    <input type="image" src="/Content/addToCart.png" />
                <% } %>

Ich habe ein <div id="Basket"></div> Auf meiner Meisterseite

Und diese Methode in Baskontroller, die eine teilweise Ansicht zurückgibt, die in Basket/Basketlist.ascx gefunden wird:

        [HttpPost]
    public ActionResult AddToBasket(int productID)
    {
        // DO STUFF

        return PartialView("BasketList");
    }

Wenn ich die Standard -ASP.NET -Mitgliedschaft angemeldet habe, funktioniert alles einwandfrei, es aktualisiert den Korb und es ist alles asynchron. Wenn ich jedoch angemeldet bin und auf den AddToCart klickt, wird ich zu Korb/addTobasket umgeleitet? ProductID = 1 1 , was eine Teilansicht ist.

Weiß jemand, warum das passiert?

Ich habe ein ähnliches Problem mit einem Ajax.ActionLink

<%= Ajax.ActionLink("Gem", "SaveBasket", "Basket", new AjaxOptions { HttpMethod = "Post" })%>

Wo es heißt, "die Ressource kann nicht gefunden werden". Wenn es feuern sollte, der in den Basketontroller platziert ist

[HttpPost]
public void SaveBasket()
{
    // DO STUFF
}
War es hilfreich?

Lösung

Es hört sich so an, als hätten Sie irgendwo einen JavaScript -Fehler, der das Ajax -Zeug blockiert, das passieren sollte. Ich kann nicht sagen, warum das nur passieren würde, wenn sie ausgeloggt werden.

Haben Sie Fehler in der Fehlerkonsole/FireBug?

Andere Tipps

Sind Sie sicher, dass alle Ihre Seiten die Microsoft Ajax -Bibliotheken enthalten? Und in der richtigen Reihenfolge?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top