Pregunta

Creo que no bastante conseguir las funciones de Ajax en MVC, porque consigo este problema extraño.

Tengo el siguiente código que hace que mi llamada ajax, se coloca en una vista parcial con una lista de productos:

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

Tengo un <div id="Basket"></div> en mi masterpage

Y este método en BasketController, que devuelve una vista parcial que se encuentra en la cesta / BasketList.ascx:

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

        return PartialView("BasketList");
    }

Cuando estoy conectado en el uso de los miembros asp.net por defecto todo funciona bien, se actualiza la canasta y todo es asíncrono, pero cuando estoy conectado y es hacer clic en el addToCart, me redirecciona a la cesta / addToBasket? productID = 1, que es una vista parcial.

¿Alguien sabe por qué sucede esto?

Tengo un problema similar con un ajax.actionlink

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

donde dice "El recurso no puede ser encontrado." cuando debería disparar, que se coloca en el BasketController

[HttpPost]
public void SaveBasket()
{
    // DO STUFF
}
¿Fue útil?

Solución

Parece que usted tiene un error de JavaScript en algún lugar que está bloqueando la materia AJAX que debería estar sucediendo. No se puede decir por qué eso sólo ocurrirá si estás fuera del embargo.

¿Tiene cualquier error en la consola de errores / Firebug?

Otros consejos

¿Está seguro de todas sus páginas está incluyendo las bibliotecas de Microsoft Ajax? Y en el orden correcto?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top