Domanda

Non capisco esattamente come il lavoro ASP.NETs ActionLinks. Vedo che hanno un gestore di eventi per OnSuccess e OnFailure, ma non riesco a trovare nulla che descrive come il successo e il fallimento è determinata.

Sto costruendo un'applicazione ASP.NET MVC e al suo interno ho un'Ajax.ActionLink che mi permette di "voto" su oggetti che utilizzano AJAX ... simile a Digg. L'ActionLink prende il via il controller e il metodo ... tutto funziona bene qui.

Nel mio controller devo logica che controlla per vedere se questo utente ha votato prima. Ho voluto usare "OnSuccess" e "OnFailure" per rispondere in modo diverso. Voglio che venga eseguito mia funzione Javascript "PlusOneVote" se l'utente non ha mai votato (Questo è lo scenario OnSuccess) e se l'utente ha votato prima che io voglio correre la mia funzione javascript "CheaterYouCantVoteTwice".

Qualcuno può spiegare come OnFailure e OnSuccess sono misurati?

Può qualcuno spiega 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 ha già votato ?

È stato utile?

Soluzione

Il successo è misurato in base al codice di stato HTTP della risposta Ajax, e niente di più. In pratica se si ottiene un codice di livello 400 (qualsiasi 400-417), si otterrà un fallimento. Se si ottiene un 200, è considerato un successo.

Credo che avrete bisogno di esaminare il contenuto dei dati nel vostro gestore OnSuccess per determinare che cosa fare, piuttosto che considerare un tipo di un messaggio di errore e un tipo di un messaggio di successo. Dal punto di vista ajax, era successo se una risposta valida è stata restituita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top