Originariamente inviato da Webtek
Intanto cerco di capire i fondamneti dell' MVC

e riprendetemi se sbaglio concetto :

esempio gestione clienti :

- il model si occupa di accedere al DB e reperire i dati del cliente, inserirli o modificarli

- Il controller si occupa di controllare inviati dall'utente e di fornire l'interfaccia giusta (view)

- il view si occupa della costruzione della pagina da restituire all'utente

quindi se ad esempio l'utente clicca sul tasto mostra clienti il model reperirà i dati da visualizzare all'utente, il controller caricherà il view giusto che mostrerà la tabella in formato lista
Giusto ?

invece se l'utente clicca su "inserisci nuovo cliente", il model reperirà il nuovo IdCliente, il controller caricherà la form di nuovo inserimento cliente, il view comporrà tale pagina con il form.
Appena l'utente invierà il form il controller effettuerà un controllo sui dati inseriti e: 1) inserisce il cliente 2) mostrerà un alert di errore se ci sono errori nei dati inseriti, questo ovviamente tramite il view.
La tua visione era corretta, ma alla fine si è deteriorata.

Se l'utente clicca su "inserisci nuovo cliente", il controller segnalerà alla view di comporre la relativa form (qui il model non viene usato).
Appena l'utente invierà la form, il model effettuerà un controllo sui dati inseriti (da qui la promiscuità che ti dicevo prima: il controllo dei dati e le stored procedures sono model o controller? Io lo considero model, anche perché l'assegnazione dell'id è SICURAMENTE model) e:

1) se valido, il model inserirà il cliente e il controller comanderà alla view di visualizzare la notifica di avvenuta transazione
2 se non valido, il model ritornerà errore e il controller comanderà alla view di visualizzare il messaggio di errore

L'id cliente viene assegnato in fase di inserimento cliente dal model!