2010-11-23 6 views
0

동적 페이지 내부에 강력한 형식의 부분 뷰를 렌더링합니다. 모델을 채우는 컨트롤러 안에 메소드 (xyz)가 있습니다.강력한 형식의 부분 뷰

는 어떻게 모델을 채우고 난이

<% Html.RenderPartial("partialviewname",xyz()); %> 

을 시도하지만 난 XYZ에 대한 참조를() 말을하지 오류를 구축 얻고, 내가 참고로 내 컨트롤러 클래스를 추가이 부분보기

을 렌더링 할 수 및 행운을 빌어 요.

나는 무엇이 있습니까?

답변

1

xyz() 란 무엇입니까?

어쨌든 .... 컨트롤러에서 다음 강하게 MyModel 클래스에 입력하고 당신이 한 "MyModelView"라는 부분보기를 만들이

[HttpGet] 
public virtual ActionResult Create() { 
    MyModel dm = _manager.CreateMyModel(); 
    return PartialView("MyModelView", dm); 
} 

같은 작업을 추가 할 수 있습니다. 당신이 당신의 질문을 수정하시기 바랍니다 그리고 당신은 직접보기에 컨트롤러의 메서드를 호출 할 수 없습니다 샘플

1

에서 좀 더 코드를 추가 더 도움이 필요하면

. 귀하의 질문에서 내가 필요로하는 것은 Html.RenderAction ("xyz") 대신 Html.RenderPartial입니다.

xyz 작업은 모델을 복구 한 다음 Main view 내부에 렌더링되는 PartialView (Lorenzo의 답변 참조)를 반환 할 수 있습니다.

0

RenderPartial을 호출하기 전에 xyz() 메서드를 호출하십시오.

<% 
var myController= ViewContext.Controller as YourControllerClass; 
var myModel = myController.xyz(); 
%> 

그리고 당신은 var에 myModel 사용할 수 있습니다

<% Html.RenderPartial("partialviewname", myModel); %> 
관련 문제