2011-01-22 8 views
25

mvc처럼 보입니다. 3 팀이 컨트롤러와 뷰백이라고하는 뷰 간의 동적 데이터 교환 기능을 도입하기로 결정했는데, 모두 강력하게 유형화 된 뷰에 대해 좋은 점은 무엇입니까? 당신의 의견을 바랄 것입니다.이 기능은 강력한 형식의보기를 대체 할 예정입니까? (viewmodels)MVC에서 ViewBag를 사용하고 있습니까?

+0

예, ViewBag가 잘못되었습니다. 강력한 타이핑은 여러 가지 이유로 최상의 방법입니다 (직접 연구 할 수 있음). 나는 ViewBag를 아주 조심스럽게 사용할 것입니다. 이와 같은 나쁜 습관에 대한 실제 문제는 사람들이 프로젝트에서 코드를 잘라내어 붙여 넣는 경향이 있기 때문에 발생합니다. 결국 질병과 같은 솔루션을 감염시킵니다. 좋은 코드를 작성하는 시간을 가지십니까? 그런 다음 개발 속도가 중요한 경우 내부 NuGet 서버를 사용하여 코드를 공유하십시오 (대신). –

답변

33

ViewBag는 이전 ASP.NET MVC 1 및 2의 ViewData와 동일한 기능을합니다. 키가있는 사전과 같이 사용할 필요없이 동적 인 경우가 있습니다. 나는 이것이 강력하게 형식화 된 뷰를 대체 할 것이라고 생각하지 않으며 실제로 Viewdata/Viewbag를 가능한 한 적게 사용해야합니다. 항상 ViewData/Viewbag의 이름이 변경되면 오류가 적게 발생하고 ViewData 캐스트를 사용하지 않아도 HTML 클리너를 만들 수 있으므로 가능한 언제든지 강력한 형식의보기를 사용하십시오.

+4

그러면 Microsoft에서 왜 ViewBag를 전혀 만들지 않았습니까? –

+2

@CarstenGehling 그것이 있기 때문에 선택하면 빠르고 더러운 방식으로 일을 할 수있는 옵션이 있습니다. 때때로 비즈니스는 신속하고 더러운 솔루션을 필요로하며 MVC는 그러한 요청을하려고하지 않습니다. 그것은 당신에게 달려 있습니다. – Chris

+9

나는 이것이 "나쁜 습관"의 세계에 초보자를 데리고 온다고 말하기 쉽습니다. – Rushino

관련 문제