2009-07-26 7 views
7

Non capisco esattamente come funzionano gli ActionLink di ASP.NET. Vedo che hanno un gestore di eventi per OnSuccess e OnFailure, ma non riesco a trovare nulla che descriva come viene determinato il successo e il fallimento.Come viene misurato OnSuccess per un ActionLink ASP.NET MVC?

Sto costruendo un'applicazione ASP.NET MVC e al suo interno ho un Ajax.ActionLink che mi permette di "votare" sugli elementi usando AJAX ... similiar a Digg. Actionlink dà il via al mio controller e al mio metodo ... tutto sta funzionando bene qui.

Nel mio controller ho una logica che controlla se questo utente ha votato prima. Volevo usare "OnSuccess" e "OnFailure" per rispondere in modo diverso. Voglio che esegua la mia funzione Javascript "PlusOneVote" se l'utente non ha mai votato (questo è lo scenario di OnSuccess) e se l'utente ha votato prima voglio eseguire la mia funzione javascript "CheaterYouCantVoteTwice".

Qualcuno può spiegare come vengono misurati OnFailure e OnSuccess?

Qualcuno può spiegare come posso costruire questa logica ... dove posso eseguire una funzione Javascript in un ramo (nel mio caso, se l'utente non ha mai votato) e un'altra funzione Javascript nel caso in cui l'utente abbia già votato?

risposta

5

Il successo viene misurato in base al codice di stato HTTP della risposta ajax e nient'altro. Fondamentalmente se si ottiene un codice di livello 400 (uno qualsiasi di 400 - 417), si otterrà un errore. Se ottieni un 200, è considerato un successo.

Penso che sarà necessario esaminare il contenuto dei dati nel gestore OnSuccess per determinare cosa fare, piuttosto che considerare un tipo un messaggio di errore e digitare un messaggio di successo. Dal punto di vista Ajax, ha avuto successo se è stata restituita una risposta valida.

Problemi correlati