ViewData의 경우 문자열을 키로 사용하지 않고 enum을 사용하고 있습니다. 현재 현재 어디서나 액세스 할 수있는 큰 목록 하나가 있습니다. 일부 enum은 여러 Controller/View 쌍에서 사용됩니다. 이 열거 형을 단순히 성장 목록으로 분류하는 것이 아니라 더 나은 방법으로 분류 할 수 있습니까?ASP.NET MVC : enums 및 ViewData [] 키
ViewData에 일반적으로 사용되는 하드 코딩 된 문자열이 마음에 들지 않습니다. 열거 형은 큰 인텔리 센스를줍니다. 열거자를 컨트롤러로 분류하는 방법에 대해 생각했습니다. 특정 열거 형 값이 컨트롤러간에 공유되고 중앙 집중식 위치가 필요하기 때문에 그렇게 잘 작동하지 않습니다.
내 컨트롤러가 특정 값을 얻기 위해 2 개 이상의 모델 클래스에 액세스하는 경우에는 작동하지 않습니다. 보기는 하나의 클래스로만 입력 할 수 있습니다. ViewData를 사용하면 여러 클래스에서 여러 값을 가져 와서 값을 표시하는 것 외에는 아무것도하지 않는보기로 보낼 수 있습니다. – 4thSpace
ViewModel은보기를 지원해야하므로 필요한 모든 속성을 가질 수 있으며 원하는만큼 복잡 할 수 있습니다. 데이터의 출처가 부적절한 곳은 컨트롤러의 책임입니다. 각 ViewModel은 특정 뷰에 맞게 조정할 수 있으므로 필요한 데이터를 정확히 제공 할 수 있습니다. 뷰에 복잡한 데이터를 보내려는 경우 이러한 복잡한 클래스가 개별 속성으로 포함 된 새 ViewModel을 만듭니다. 실제로 ViewData 사전을 사용할 필요가 없습니다. –