2012-02-17 5 views
1

모델을 명시하기 위해 dynamic 키워드를 사용하여 명시 적 모델 정의없이 C# 면도기 사이트를 만들었습니다. 그러나 "개체에 멤버 X가 없습니다"라는 메시지가 표시되어 현재이 기능이 중단되었습니다. 그것은 그것을 포함합니다; Intellisense는 이것을 보여 주지만 동적 인 경우 모델을 사용하는 것은 무엇이든 파기합니다. 심지어 @model dynamic을 추가해도 작동하지 않습니다.면도기 동적 모델 깨기

명시 적 모델로 변경하면 작동하기 때문에 동적 지원이 진행중인 작업을 중단하게 만드는 원인은 무엇입니까?

편집 : 내 컨트롤러는 단순히 않습니다

이 :

public ActionResult List() 
{ 
    return View(new 
    { 
    Data = repos.GetData() 
    }); 
} 

과는 직접 사용

@{ Title = "X" } 

@foreach (var item in Model.Data) 
{ 
    Render 
} 

모델과 데이터가 null는 아니고, 유효가 데이터.

감사합니다.

+0

액션 방법과보기 코드를 게시하시기 바랍니다. –

+0

완료, 위의 게시물을 확인하십시오. –

답변

1

전달할 동적 유형을 사용하려면 ViewBag 속성을 사용해야합니다.

@foreach (var item in ViewBag.Data) 
{ 
    Render 
} 

내가 코드가 작동 얻을려고하지만 같은 오류가 발생 :

public ActionResult List() 
{ 
    ViewBag.Data = repos.GetData(); 

    return View(); 
} 

보기를 : 귀하의 코드를 읽을 수 있습니다.

+0

오늘까지 몇 주 동안이 모든 시간 동안 문제없이 작동했기 때문에 이상합니다. –

+0

@BrianMains 글쎄요, 오늘 코드에서 뭔가 바뀌 었습니까? * 뭔가 바뀌어야합니다. –

0

이 시도 :

모델 :

public ActionResult List() 
{ 
    dynamic returnModel = new ExpandoObject(); 
    returnModel.Data = repos.GetData(); 
    return View(returnModel); 
} 

보기 :

@{ 
    ViewBag.Title = "title"; 
} 

@foreach (var item in Model.Data) 
{ 
    // html for item 
}