2010-11-02 4 views
8

Mi piace l'idea dei nuovi plugin jQuery sviluppati da MS, Templates e DataLinking, e in realtà ho bisogno nel mio lavoro di un giorno in cui potrebbero rivelarsi preziosi. Il fatto è che l'html di cui ho bisogno per creare un modello è un html non banale che sfrutta entrambi i metodi di helper Html incorporati e personalizzati tramite il framework MVC 2. Inoltre, esiste un rendering condizionale basato sui valori del ViewModel associato.possibile per asp.net mvc 2 per il rendering di viste come modelli jquery-tmpl?

Potrei andare a riprodurre fedelmente la logica di rendering dalla sintassi vista MVC alla sintassi jquery-tmpl, che includerebbe la comprensione di tutto l'HTML generato dalle funzioni di helper MVC utilizzate. Tuttavia, questo è sia noioso e che richiede tempo. Per non parlare di altre preoccupazioni, come la convalida lato client & e altre funzioni di helper HTML come AntiForgeryToken(), anche se tali preoccupazioni potrebbero probabilmente essere affrontate lateralmente essendo intelligenti nel confinare l'uso di jquery-tmpl.

Mi chiedo, possiamo approfittare della logica e della struttura già definite dalla vista parziale MVC e renderlo un modello jquery-tmpl anziché HTML dritto? A prima vista, sembrerebbe essere una questione di tradurre la sintassi di visualizzazione MVC in sintassi jQuery-tmpl, preservando tutti i loop, le condizioni, ecc.

È possibile? Non conosco il framework MVC fino in fondo, ma so che offre una grande estensibilità. Sembra che questa situazione potrebbe essere preziosa, se capito, sì? O sono addirittura fuori sede nel pensarlo? Qualche idea o suggerimento?

+0

Questo tipo di funzionalità sarebbe FANTASTICO! – jfar

+0

Sono abbastanza incuriosito da questa idea ... Anch'io ci ho pensato anch'io. Potresti postare qualche informazione in più su come pensi che funzioni? Forse un po 'di codice e flussi di percorso diversi per il normale rendering html e il rendering jquery-tmpl ...? Coira. – Charlino

risposta

1

Sembra che probabilmente vorrai implementarlo come un ViewEngine personalizzato. ViewEngines sono inseribili in MVC. Un ViewEngine JQuery-Tmpl probabilmente parlerebbe solo con il server JSON. Blob del markup del modello possono anche essere presentati al ViewEngine come valori delle proprietà secondarie nei messaggi di risposta. Sarebbe quindi il lavoro del ViewEngine per rendere i modelli e posizionarli in target regione, ecc. Suoni stranamente familiari ..;)

+0

Le ViewEngine possono essere scambiate su richiesta dai Controller? Un Custom ViewEngine è stato il mio primo pensiero, ma non sono sicuro di quanto possa essere flessibile il loro utilizzo. Sono abbastanza sicuro che è possibile associare diversi ViewEngine su base per controller, ma vorremmo flessibilità anche all'interno di un controller, no? – kdawg

0

MVC 3 consente di utilizzare più ViewEngines nello stesso sito.