Pergunta

Eu não entendo exatamente como ASP.NETs ActionLinks trabalho. Eu vejo que eles têm um manipulador de eventos para OnSuccess e OnFailure, mas eu não consigo encontrar nada que descreve como o sucesso eo fracasso é determinado.

Estou construindo uma aplicação ASP.NET MVC e dentro dele eu tenho um Ajax.ActionLink que me permite "voto" em itens usando AJAX ... semelhante ao Digg. Os actionlink arranca meu controlador e método ... tudo está funcionando bem aqui.

No meu controlador eu tenho lógica que verifica para ver se o usuário tem votado antes. Eu queria usar "OnSuccess" e "OnFailure" para responder de forma diferente. Eu quero que ele seja executado a minha função JavaScript "PlusOneVote" se o usuário nunca votou (Este é o cenário OnSuccess) e se o usuário tenha votado antes eu quero executar minha função javascript "CheaterYouCantVoteTwice".

Alguém pode explicar como OnFailure e OnSuccess são medidos?

Pode alguém explica como eu posso construir essa lógica ... onde posso executar uma função JavaScript em um ramo (no meu caso, se o usuário nunca votou) e outra função JavaScript no caso em que o usuário já votou ?

Foi útil?

Solução

O sucesso é medido com base no código de status HTTP da resposta ajax, e nada mais. Basicamente, se você obter um código de nível 400 (qualquer um dos 400-417), você vai ter uma falha. Se você receber um 200, é considerado um sucesso.

Eu acho que você vai precisar para examinar o conteúdo dos dados no seu manipulador OnSuccess para determinar o que fazer, em vez de considerar um tipo uma mensagem de falha e um digite uma mensagem de sucesso. Do ponto de vista ajax, ele foi bem sucedido se uma resposta válida foi devolvido.

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