0

우선, 이것은 새로운 질문이 아닙니다. 제 질문은 실제로 gWiz에서 제공하는 답변 중 하나에 대한 후속 질문입니다. 자신의 게시물/대답 링크는 여기에 있습니다 :MVC를 사용한 다중 뷰 모델/단일 뷰 Contrib

Multiple models sent to a single view instance

뷰와 페이지 지시문에서 마스터 페이지를 강력하게 입력 대신의 사용을하지 않는 것이이 작업을 수행하는 또 다른 방법 MVC Contrib의 제네릭 형식 기반 ViewData 확장. 이러한 확장자는 기본적으로 ViewData 사전 키로 정규화 된 형식 이름을 사용합니다. 사실상 타이핑 효과는 강력 유형 페이지 접근 방식과 동일하며, 필요한 뷰 모델 클래스 수는 입니다. 그런 다음 당신의 행동에 당신은

ViewData.Add<Car>(car); ViewData.Add<LayoutAData>(layoutAData);

을하고보기에 당신은

<%= ViewData.Get<Car>().Color %>

할 마스터 페이지에 당신이

<%= ViewData.Get<LayoutAData>().Username %>

당신은이를 캐시 할 수 할을 완화하기 위해보기에서 <> 인라인을 불러옵니다.여러 번 주조하는 데 드는 비용.

내 마지막 질문에 대한 구체적인 질문입니다.보기에서 전화를 "캐싱"하는 방법은 무엇입니까? 보기가 매번 파괴되고 생성되지 않습니까?

예제를 검색했지만 어쩌면 올바른 질문을하지 않았을 수 있습니까?

큰 TIA :

답변

1

그가 말을 할 수있는 것은 대신

<%= ViewData.Get<Car>().Color %> 
<%= ViewData.Get<Car>().Make %> 

당신은 변수에 할당하고 의미가 변수 나중에

<% var car = ViewData.Get<Car>(); %> 

<%= car.Color %> 
<%= car.Make %> 
+0

을 사용하는 것입니다, 고맙습니다 :) – agAus