2010-02-20 2 views
1

.NET MVC에 관해서도 아직 슬프게도 n00bish가됩니다. 나는 데이터 목록을 얻고 자하는 MasterPage에서 호출되는 탐색 부분 뷰를 가지고있다. 이 부분보기는 "공유"폴더에 있으므로 컨트롤러가 없습니다. 목록을 렌더링 할 수 있도록 데이터를 가져 오는 방법은 무엇입니까?공유 부분 뷰에 데이터 가져 오기

감사 구체적

, 나는이 (의사) 같은 것을하고 싶지 :

<ul> 
<% foreach (item in ListOfItems) { 
    Response.Write(formattedListItem); 
} %> 
</ul> 
+0

기록을 위해 이러한 솔루션 중 어느 것도 작동하지 않았습니다. 그래서 나는 그것을 ajaxed했습니다 : \ – Jason

답변

1
+0

이것은 모두 훌륭하고 훌륭하지만 공유 된 부분보기가 필요합니다. 공유되지 않은 데이터를 얻을 수 있습니다 ..../ – Jason

+0

왜 다른가? – pdr

+0

컨트롤러 나 데이터가없는 메인 마스터 페이지에서 공유 뷰를 호출하려고합니다. 데이터를 가져와야 할 때가 있습니다 ... 때로는 mvc가 너무 초조 할 수도 있습니다. – Jason

0

일반 페이지와 마찬가지로 뷰 모델을 전달합니다. 컨트롤러에서 View (...)를 호출 할 때 전달하는 대신, 도우미 메서드를 사용합니다. 뭔가 같은 :

<% Html.RenderPartial("~/Views/Shared/Navigation.ascx", Model.MenuItems); %> 

예제의 경우 위입니다 당신이 (아마하는 당신이 부분 뷰를 사용하는 뷰의 모델에서 올 것이다 (이 경우 Model.MenuItems)에 전달되는 데이터).

+0

음, 이것은 어떤 데이터에도 접근 할 수없는 마스터 페이지에서 호출되고 있습니다. – Jason

0

그냥 RenderAction을 사용하십시오. RenderAction은 선택한 컨트롤러에서 메서드를 호출하고 표시 할 결과를 가져옵니다. 이 메서드에서 PartialView를 반환 할 수도 있습니다.

<% Html.RenderAction("actionName", "controllerName"); %> 

희망이 있습니다.

+0

intellisense에서'Html.'의'RenderAction' 옵션을 얻지 못했습니다. – Jason