Scusa ma non è più semplice ed elegante usare RenderAction?
Vedi qui:
http://devlicio.us/blogs/derik_whittaker/archive/2008/11/24/renderpartial-vs-renderaction.aspx

Francesco Abbruzzese
Voglio fare un pò la voce fuori dal coro, ma RenderAction non mi piace e, fortunatamente, sembra che non sia il solo a manifestare perplessità in proposito.
Quello che voglio dire è che da anni oramai si parla di SoC e, nel caso specifico, quando la vista chiama in causa un controller si viene meno ad uno dei cardini del pattern MVC stesso.
Vorrei essere ancora più spietato e parlare di Partial View, ma non voglio rischiare di essere esposto al pubblico ludibrio!
Ora, uccidetemi pure...
Modificato da naighes il 13 settembre 2010 08.47 -

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
Eccomi, scusate il ritardo ma ero a godermi il sole del mare spagnolo

IMHO è un de-gustibus, in un prossimo script volevo proprio far vedere come approcciare lo stesso problema con RenderAction. Probabilmente nel caso della tag cloud può anche venire più "naturale" l'uso di RenderAction. Direi che...
1) Si perde un po' il concetto che il ViewModel contiene i dati che devono essere mostrati in pagina, visto che la ChildAction ha un suo model separato
2) D'altro canto molti potrebbero apprezzare proprio questo aspetto usando RenderAction, visto che, nel nostro caso, la gestione della tagcloud rimarrebbe completamente separata da tutto il resto.
3) Bene per la tag cloud, che ha sempre il solito look, ma se invece io voglio solo dei dati che magari in una pagina mostro in un modo e in un'altra mostro diversamente? O se di quei dati ne ho bisogno in più parti nella view?
4) In tanti casi, quando ad esempio non ho una PartialView a disposizione, usare i filter risulta dannatamente comodo: esempio tipico: SelectList dei clienti, che necessita di una collection di SelectListItem da qualche parte nel model

Queste le mie considerazioni di getto, considerate che mi sono appena svegliato

Grazie mille per i commenti!
m.
Si credo che anche se ti sei appena svegliato hai colto esattamente il punto. Quello che avevo in mente quando ho scritto il mio commento è propio questo:

Nel caso di porzioni di view che sono sostanzialmente "gadgets" indipendenti dal contenuto della pagina non è il caso di inserirli nel view model per i seguenti motivi:

1) Sono da considerari più un contributo al "look" della pagina che al suo contenuto.

2) Ormai le pagine web sono piene di banner e gadgets, sarebbe folle inserirli tutti nel vie model di ogni pagina. Se si insiste sulla posizione che assolutamente TUTTO va nel vie model delle due l'una o la diffusione di MVC sarà molto castrata.....o cominceremo a vedere pagine web ....molto tristi

3) Manutenibilità e interoperabilità del codice aumentano notevolmente in questo modo.

ovviamente, come hai ribadito tu QUESTO NON VUOL DIRE CHE GLI ACTION FILTER SONO INUTILI, anzi in caso di dipendenza dal resto del view model restano l'unica soluzione possibile per risolvere efficacemente il problema da te esposto.

ciao.... e buon lavoro

Francesco Abbruzzese

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.