Problemi relativi alle nuove istanze di controller nelle pagine di visualizzazione [chiuso]

0

C'è qualche problema con la creazione di un nuovo controller all'interno delle pagine di vista ascx. Non voglio creare un modello, ci sono problemi nel farlo in questo modo.

Normalmente, i controllori controllano le variabili all'interno del modello e il modello è il punto intermedio tra loro, ma sto creando una nuova istanza di una classe controller all'interno della stessa pagina ascx. Va bene?

** EDIT Voglio conoscere le implicazioni di inserire un'istanza di una classe controller direttamente nel codice ascx di asp.net in una pagina di visualizzazione

Grazie

    
posta 2b77bee6-5445-4c77-b1eb-4df3e5 26.08.2014 - 15:21
fonte

2 risposte

1

Qui, usa uno di questi (ViewBag, ViewData, ecc.):

link

Se non riesci a seguire il modello, almeno lavoraci al suo interno ...

    
risposta data 26.08.2014 - 22:04
fonte
1

In sostanza stai chiedendo quali sono le implicazioni della rottura del pattern MVC. Puoi scrivere un'applicazione in qualsiasi modo tu voglia. Tuttavia, il vantaggio di utilizzare un modello come MVC è che è ampiamente noto. Qualsiasi programmatore che capisca MVC può guardare la tua applicazione e dire "Sì, capisco come i dati fluiscono attraverso l'applicazione e posso aggiungere funzionalità a questa applicazione esistente". Se esci dal libro e inizi a utilizzare un modello non riconosciuto, solo tu saprai come funziona. Dovrai dedicare del tempo a formare qualcun altro per imparare come modificare il tuo codice. Un altro svantaggio è che se hai bisogno di aiuto con la tua applicazione, allora dovrai trovare qualcuno che capisca il tuo codice prima che possa aiutarti.

Se hai già scritto codice utilizzando il pattern MVC, devi continuare a farlo. Cambiare il metodo con cui i dati vengono passati attorno all'applicazione dopo aver iniziato a scriverlo è una cattiva idea. Il codice confonderà tutti gli altri e probabilmente non lavorerai su di esso per un paio di mesi.

Se stai creando un'istanza di una classe controller nella tua vista, allora dovrai testarla. Questo può essere un dolore da testare. Non so come si prevede di utilizzare il controller una volta istanziato, ma se si prevede di fare qualsiasi logica nella propria vista, sarà difficile da testare. C'è una ragione per cui il controller modifica la vista e non il contrario. È più facile testare un controller che una vista.

Questi sono alcuni motivi per cui la divergenza dal pattern MVC e il motivo per cui creare un controller all'interno di una vista è una cattiva idea. Sono certo che ci sono alcuni buoni motivi per farlo, ma lascerò che qualcun altro li esplori.

    
risposta data 26.08.2014 - 16:09
fonte

Leggi altre domande sui tag