I Net MVC, regnes det som dårlig praksis å få tilgang til informasjon om økten fra View?

stemmer
1

Jeg har nylig kjørte inn i en situasjon der tilgang til informasjon om økten fra visningen er den mest intuitive og rask løsning på problemet. Så, jeg bare gjorde det uten å tenke for mye. Men nå når jeg besøker min kode. Jeg liksom føle ubehag om avgjørelsen jeg har gjort tidligere. Jeg kan ikke fjerne staten hva som er galt med å gjøre det jeg gjorde. Bare en Hinch forteller meg at jeg ikke bør gjøre dette.

Bør jeg bytte ut min kode med teledata eller TempData? Dette vil kreve å legge et par linjer med kode. Eller skal jeg bare la ting som er, fordi det ikke er brutt?

Publisert på 30/12/2009 klokken 00:42
kilden bruker
På andre språk...                            


2 svar

stemmer
4

Min preferanse ville være kopiere dataene i kontrolleren metoden til den ViewDataeller selve modellen. Det er egentlig mer ansvar på kontrolleren, i motsetning til visningen.

Jeg tror ikke det er offisielt ansett som en dårlig praksis, men jeg kunne se det som fører til vedlikehold hodepine senere. Du trenger egentlig ikke ønsker dine synspunkter å være knyttet til ekstern tilstand; de skal bare være knyttet til modellen / viewmodel / teledata.

Svarte 30/12/2009 kl. 00:53
kilden bruker

stemmer
2

Du er ikke en freak i det hele tatt. Faktisk, jeg er en militant refactorer når det kommer til rengjøring ting opp. For fremtidig referanse, er det generelt beste praksis for å holde tunge logikk ut av dine synspunkter. De sier du vel å ha svært tynne / dumme utsikt, kontrollere som gjør små biter av logikk og spill trafikk cop, og modeller som håndterer all den dype ting.

Jeg gjør alt i min makt for å begrense mitt syn logikk til enkle operasjoner på ViewModel og teledata. Jeg bruker også tilpassede HtmlHelpers, RenderPartials og RenderActions å holde mine synspunkter radmager og ukomplisert.

Svarte 30/12/2009 kl. 02:17
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more