Question

Je ne pense pas que je reçois tout à fait les fonctions Ajax dans mvc, parce que je reçois ce problème wierd.

Je suis le code suivant qui rend mon appel ajax, il est placé dans une vue partielle avec un ProductList:

                <% 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" />
                <% } %>

J'ai un <div id="Basket"></div> sur mon masterpage

Et cette méthode dans BasketController, qui renvoie une vue partielle qui se trouve dans Basket / BasketList.ascx:

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

        return PartialView("BasketList");
    }

Quand je suis connecté à l'aide des membres de asp.net par défaut tout fonctionne bien, il met à jour le panier et il est tout async, mais quand je suis déconnecté et est en cliquant sur le addToCart, il me redirige au panier / AddToBasket? productID = 1, qui est une vue partielle.

Quelqu'un sait pourquoi cela se produit?

J'ai un problème similaire avec un Ajax.ActionLink

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

où il est dit « La ressource ne peut pas être trouvé. » quand il doit tirer, qui est placé dans la BasketController

[HttpPost]
public void SaveBasket()
{
    // DO STUFF
}
Était-ce utile?

La solution

Il semble que vous avez une erreur javascript quelque part qui bloque les choses AJAX qui devrait se produire. Ne peut pas dire pourquoi cela ne se produira que lorsque vous êtes connecté à bien.

Avez-vous des erreurs dans la console d'erreur / Firebug?

Autres conseils

Êtes-vous sûr de toutes vos pages incluez les bibliothèques Microsoft Ajax? Et dans le bon ordre?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top