공통점 : ViewBag과 Model은 모두 컨트롤러에서 뷰로 데이터를 전달하는 데 사용.
차이점 : ViewBag은 모델 클래스를 따로 만들 필요 없이 컨트롤러에서 뷰로 데이터를 전달하는 동적 객체이며 ViewBag의 속성은 런타임에 동적으로 추가되고, 그 타입은 할당되는 값에 의해 결정됨.
Model은 뷰로 전달하려는 데이터를 나타내는 강제 타입 객체. 일반적으로 컨트롤러의 속성으로 정의되며, View 메서드의 제네릭 매개변수에 의해 타입이 지정됨. 모델은 뷰로 매개변수로써 전달되며, 뷰에서는 모델의 속성을 직접 액세스 할 수있음.
모델은 주로 리스트처럼 많은 정보가 담긴 객체를 한꺼번에 가져오는데 용이.
장기적으로 코드 유지관리에 모델객체를 사용하는게 좋다.
일반적으로 Model을 사용하여 데이터를 뷰로 전달하는 것이 ViewBag보다 좋은 방법.
-> StackOverFlow에서 만약 Viewbag을 써야한다면, 아래와 같은 방식을 쓰길 추천한다는 팁.
ViewBag.LayoutModel = new LayoutModel { UserID = User.ID, UserName = User.Name };
출처: https://stackoverflow.com/questions/21716953/viewbag-vs-model-in-mvc-net
728x90
'Learning > .NET' 카테고리의 다른 글
[Rider] C#프로젝트 초기 설정: DB연결 (MariaDB/AWS) (1) | 2023.04.17 |
---|---|
[Rider] C#프로젝트 초기 설정: 호스트주소 변경 (0) | 2023.04.16 |