Pergunta

Eu não acho que recebo as funções do Ajax no MVC, porque tenho esse problema mais estranho.

Recebi o código a seguir que faz minha chamada de Ajax, ele é colocado em uma visão parcial com uma lista de produtos:

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

eu tenho um <div id="Basket"></div> na minha página master

E esse método no BasketController, que retorna uma visão parcial encontrada em Basket/BasketList.ascx:

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

        return PartialView("BasketList");
    }

Quando estou conectado ao usar a associação padrão do ASP.NET, tudo funciona bem, ele atualiza a cesta e é tudo assíncrono, mas quando estou conectado e está clicando no AddToCart, ele me redireciona para Basket/AddToBasket? ProductId = 1 , que é uma visão parcial.

Alguém sabe por que isso acontece?

Eu tenho um problema semelhante com um ajax.actionlink

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

onde diz "o recurso não pode ser encontrado". quando deve disparar, que é colocado no concurso de cesto

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

Solução

Parece que você tem um erro de JavaScript em algum lugar que está bloqueando o material do Ajax que deve estar acontecendo. Não posso dizer por que isso só aconteceria quando se saiu.

Você tem algum erro no console de erro/Firebug?

Outras dicas

Tem certeza de que todas as suas páginas estão incluindo as bibliotecas do Microsoft Ajax? E na ordem correta?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top