Domanda

Non credo che quasi mai le funzioni Ajax in MVC, perché ho questo problema strano.

ho ricevuto il seguente codice che rende la mia chiamata ajax, è collocato in una vista parziale di una Lista prodotti:

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

Ho un <div id="Basket"></div> sul mio masterpage

E questo metodo in BasketController, che restituisce una vista parziale che si trova in Basket / BasketList.ascx:

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

        return PartialView("BasketList");
    }

Quando sono entrato con l'appartenenza di default asp.net tutto funziona bene, aggiorna il canestro ed è tutto asincrono, ma quando sono entrato fuori e sta facendo clic sul addToCart, mi reindirizza a carrello / AddToBasket? productID = 1, che è una vista parziale.

Qualcuno sa perché questo accade?

Ho un problema simile con un ajax.actionlink

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

in cui si dice "La risorsa non può essere trovato." quando dovrebbe fuoco, che è collocato nella BasketController

[HttpPost]
public void SaveBasket()
{
    // DO STUFF
}
È stato utile?

Soluzione

Sembra che si dispone di un errore di javascript da qualche parte che sta bloccando la roba AJAX che dovrebbe accadere. Non posso dire perché che sarebbe successo solo quando si accede però.

Hai eventuali errori nella console degli errori / Firebug?

Altri suggerimenti

Sei sicuro tutte le vostre pagine si includono le librerie Microsoft Ajax? E nell'ordine corretto?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top