Pregunta

No entiendo exactamente cómo funcionan los ActionLinks de ASP.NET.Veo que tienen un controlador de eventos para OnSuccess y OnFailure, pero no encuentro nada que describa cómo se determina el éxito y el fracaso.

Estoy creando una aplicación ASP.NET MVC y dentro de ella tengo un Ajax.ActionLink que me permite "votar" sobre elementos usando AJAX... similar a Digg.Actionlink inicia mi controlador y método... todo funciona bien aquí.

En mi controlador tengo una lógica que verifica si este usuario ha votado antes.Quería usar "OnSuccess" y "OnFailure" para responder de manera diferente.Quiero que ejecute mi función de Javascript "PlusOneVote" si el usuario nunca ha votado (este es el escenario OnSuccess) y si el usuario ha votado antes, quiero ejecutar mi función de JavaScript "CheaterYouCantVoteTwice".

¿Alguien puede explicar cómo se miden OnFailure y OnSuccess?

¿Alguien puede explicar cómo puedo construir esta lógica... donde puedo ejecutar una función de Javascript en una rama (en mi caso, si el usuario nunca ha votado) y otra función de Javascript en el caso de que el usuario ya haya votado?

¿Fue útil?

Solución

El éxito se mide en base al código de estado HTTP de la respuesta Ajax, y nada más. Básicamente, si se obtiene un código de nivel 400 (cualquier alcanzan 400 - 417), obtendrá un fracaso. Si se obtiene un 200, se considera un éxito.

Creo que tendrá que examinar el contenido de los datos en el controlador onSuccess para determinar qué hacer, en lugar de considerar un tipo un mensaje de fallo y un tipo un mensaje de éxito. Desde la perspectiva del Ajax, que fue un éxito si se obtiene una respuesta válida.

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