2011-01-11 3 views
0

Categories의 목록을 보여주는 부분보기가 있습니다. 페이지에 부분보기를 넣고 싶습니다만 서비스에 전화를 걸어 범주 목록을 얻고 싶습니다. 모든 컨트롤러 작업에서이 작업을 수행하지 않아도됩니다. 코드 숨김을 넣을 수있는 웹 폼이 있습니다.컨트롤러없이 업데이트되는 ASP.NET MVC 부분보기

예 :

작업

public ActionResult Index() 
    { 
     JobListViewModel model = new JobListViewModel(); 
     model.Categories= jobService.GetCategories(); 

     return View(model); 
    } 

    public ActionResult Details(int id) 
    { 
     Job job = jobService.GetJob(id); 
     return View(job); 
    } 

은 내가 model.Categories 모델을 가지고 목록이 표시됩니다 그 부분을 만들었습니다. 보시다시피 인덱스 페이지는 정상적으로 작동하지만 세부 정보 페이지에서 다시 호출하고 싶지는 않습니다. 내서비스에 대한 부분 뷰 호출을 자체적으로 수행하는 방법이 있습니까?

답변

3

Html.RenderAction 사용 - 부분보기에 자체 컨트롤러 동작을 제공합니다.

+0

그래서 부분 뷰를 반환하고 렌더링을 호출하는 동작을 수행합니까? –

+0

오른쪽 - 별도의 컨트롤러 동작 메서드를 사용하는 것 외에 RenderPartial과 거의 같습니다. –

2

[ChildActionOnly] 속성으로 부분 동작을 표시해야합니다.

0

DVark, 허용 대답에 언급 한 바와 같이

, 당신의 시나리오, RenderAction가 가장 적합합니다.

은 내가 (즉, 때 RenderAction 대 ​​RenderPartial를 사용하는) 주제에 대한 내 생각을 distils 약간의 기사를 링크 거라고 생각 :

http://cbertolasio.wordpress.com/2010/09/21/mvc-html-renderaction-vs-html-renderpartial/

그것이

[편집] 도움이되기를 바랍니다 - 옆으로. 1 년 전 RenderAction의 힘을 평가하지 않음으로써 RenderPartial에 찬성하여 약간의 긁힌 자국이있었습니다. 결과적으로, 나는 다양한 출처로부터 그것들에 접근하기 위해 많은 부분 뷰가있는 공유 뷰 공간을 산재시켰다. 이야기의 도덕적 인 것 : 당신의 깃발을 심기 전에 당신의 '영토'를 알아라.

관련 문제