2009-09-23 1 views
1

컨트롤러에서 쿼리 문자열에 articleID가 있는지 확인합니다. 존재하는 경우 편집보기 페이지를 렌더링합니다. 그렇지 않으면 뷰 추가 페이지를 렌더링합니다.edit와 add view 페이지를 하나의 액션으로 결합합니다.

내 편집 페이지에서 내 ViewData의 특정 클래스가 null 일 수 있습니다.

넣어주세요 편집 페이지에서 텍스트 상자를 미리 채우고 싶습니다.

필드에 텍스트를 미리 채울 수 있지만 동시에 null 개체/속성을 안전하게 보호하려면 어떻게해야합니까?

+1

나는이 질문의 제목이 "연령"이 아니라 "추가"라고해야한다고 생각하십니까? – Funka

답변

1

형식 안전 옵션은 하나가 아닌 두 개의 ViewModel을 정의하는 것입니다. 하나는 추가 페이지 용이고 다른 하나는 편집 페이지 용입니다. 절대 null이 될 수없는 공통 데이터가 많이있는 경우 공통 기본 클래스에서 해당 속성을 구현할 수 있지만 그럴 필요는 없습니다.

추가보기를 표시하기로 결정하면 적절한 ViewModel을 사용하여 ViewResult를 반환합니다.

편집보기를 표시하려면 ViewModel을 사용하여 ViewResult를 반환합니다.

각 View는 정확히 그 ViewModel 유형을 기반으로 강력한 형식화 된보기가 될 수 있습니다.

other SO answer은 이러한 접근 방식에 대해 자세히 설명합니다.

+0

이 접근 방식의 문제점, 3 개의보기 페이지가있는 경우 모두 3 개를 유지해야합니다! 즉 텍스트 상자를 하나 추가하는 것은 걱정할 3 가지 변경을 의미합니다. – mrblah

+0

다른 답변에서 쓴 것처럼 공통 데이터에 대해 공유 뷰 (.ascx)를 사용할 수 있으므로 한 곳에서만 유지해야합니다 . –