2011-11-03 3 views
6

Sto cercando di trovare una spiegazione (approfondita) su cosa succede quando si utilizzano gli helper MVa ajax. Quali eventi e classi di css vengono aggiunti. Posso trovare sprinkle of info qui e là ma nessuna spiegazione generale di come funziona questo framework ajax. C'è una buona spiegazione là fuori?Esiste una buona spiegazione su cosa ASP.NET MVC3 sta facendo con i suoi helper ajax e il rendering discreto di javascript?

+0

fino ad ora esaminando gli esempi che ho trovato nella classe css: input-validation-error e input-validation-valid, ancora mi sento come se mi mancasse un buon riferimento. Bella domanda – BigMike

+2

So che la fonte è la migliore documentazione. Potrei passare attraverso i loro file js per capire cosa sta succedendo e sarei un uomo migliore, ma ho pensato di chiedere prima e vedere se quel lavoro è già stato fatto per me. –

risposta

0

MVC3 Gli helper Ajax aggiungono semplicemente alcuni nomi di classi css e dati sull'elemento del modulo. Devi includere jquery.unobtrusive-ajax.js nel tuo progetto.

Quando dom è pronto, questo script ricerca gli elementi con i nomi delle classi css sopra. Quando il modulo viene inviato, lo script cattura l'evento, serializza i valori del modulo, usa $ .ajax per chiamare l'URL di destinazione e può inserire la risposta in un dato ID elemento, oppure darlo al metodo js personalizzato a seconda delle opzioni hai usato

input-validation-error e input-validation-valide classi vengono utilizzate per la convalida non invadente, che non è la stessa di ajax non invadente (condividono solo la parola non invadente). Ha bisogno di jquery.validate.unobtrusive.js e trasforma la convalida di microsoft script in validazione jquery validate. Vedere http://rocketsquared.com/wiki/Plugins/Validation per dettagli sulla convalida di validazione jquery.

+0

con MVC 3 sono passati a jQuery AJAX completamente (MS Ajax è un amico ormai scomparso/diabolico ora) – BigMike

+0

Non lo fanno. L'impostazione predefinita è usare MsAjax. Adesso hai la scelta. Con le versioni precedenti non lo fai. MsAjax non è documentato in molti modi. jQuery è. Scegli te stesso, ma preferisco il jQuery fluid javascript a MsAjax nomi mostruosi ma significativi. – Softlion

1

I metodi Ajax di aiuto rendono Html alla tua pagina.

Il modo migliore per vedere esattamente ciò che un metodo Ajax Ajper aggiunge è visualizzando la sorgente quando esegue il rendering nel browser in fase di runtime.

Si può anche vedere il materiale non invadente reso nell'origine se si rimuove il riferimento a jquery.unobtrusive-ajax.js.

È inoltre possibile scrivere i propri metodi di supporto Ajax (e Html) sotto forma di metodi di estensione.