본문 바로가기

.NET/C#

ViewData 와 ViewBag 차이

728x90
반응형

ViewData 와 ViewBag 차이

ViewData 및 ViewBag은 동일한 기본 ViewData 컬렉션을 사용하므로 ViewData 및 ViewBag을 모두 사용하고 값을 읽고 쓸 때 이들을 혼합 및 일치시킬 수 있습니다.

ViewData

- Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary

- ContainsKey, Add, Remove 및 Clear와 같은 사전 속성이 있습니다.

- 사전의 키는 문자열이므로 공백을 사용할 수 있습니다. 예: ViewData["Some Key With Whitespace"]

- ViewData를 사용하려면 string 이외의 모든 형식을 보기에서 캐스트해야 합니다.

ViewBag

- ViewData에 저장된 개체에 대한 동적 액세스를 제공하는 Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.DynamicViewData 개체

- Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.DynamicViewData에서 파생되므로 점 표기법(@ViewBag.SomeKey = <value or object>)을 사용하여 동적 속성을 생성할 수 있으며 캐스팅이 필요하지 않습니다. ViewBag 구문을 사용하면 신속하게 컨트롤러와 보기에 추가할 수 있습니다.

- 간단하게 Null 값을 확인합니다. 예: @ViewBag.Person?.Name

출처 | 마이크로소프트

728x90
반응형