2010-05-12 4 views
0

세 부분 뷰 페이지로 구성된 뷰 페이지를 만드는 방법은 무엇입니까? 개체 참조가 개체의 인스턴스로 설정되지 :이 코드 반환 오류가 왜 ASP.NET MVC의 부분 뷰

// 
    // GET: /Partial/ 

    public ActionResult View1() 
    { 
     var upit = from i in proba.name 
        select i; 
     return PartialView("upit",proba.name); 
    } 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

<h2>Index</h2> 
<div><%Html.RenderPartial("View1",proba.name); %></div> 
</asp:Content> 

ASP.NET MVC

을 사용하고 있습니다.

답변

4

RenderPartial이 아닌 RenderAction을 사용하고 싶습니다. View1은보기가 아닌 작업입니다. 부분 뷰, upit을 반환합니다. MVC2 (또는 MVC1 + 선물)가 필요합니다. ChildActionOnlyAttribute를 사용하여 AJAX에서 호출하려는 경우가 아니면 액션을 꾸미기를 원할 수도 있습니다.

[ChildActionOnly] 
public ActionResult View1() 
{ 
    var upit = from i in proba.name 
       select i; 
    return PartialView("upit",proba.name); 
} 


asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

<h2>Index</h2> 
<div><%= Html.Action("View1"); %></div> 
</asp:Content> 

당신이 특정 오류가 발생하는 이유는 proba 변수가보기에 정의되지 않은 것입니다 않으며 할 필요가 없습니다. 귀하의 경우, 조치는 모델이 부분 뷰로 전달되도록 결정하므로 어떤 데이터도 전달할 필요가 없습니다. 액션을 렌더링 할 때 쿼리 매개 변수를 통해서만 전달할 수 있습니다.

+0

귀하의 경우이 오류가 있습니다 : 처리기 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'에 대한 자식 요청을 실행하는 동안 오류가 발생했습니다. – Ognjen

+0

@ognjenb : 문자열을 반환하는 버전 대신 응답에 직접 작성한 버전을 사용했습니다. 올바른 확장 방법을 사용하도록 업데이트했습니다. 또한 태그를 쓰기로 응답을 감싸지 않는 태그로 간단하게 변경할 수도있었습니다. – tvanfosson

1

보기 페이지에서 RenderPartial 방법을 사용하고 싶을 것입니다.

예 내가 "뷰 1", "뷰 2"와 "View3"라는 3 부분적인 전망을했다 말해봐. 난 당신이보기가 알아서하기 위해에서 파생되는 MasterPage있을 것입니다 가정

<div id="section1"> 
<% Html.RenderPartial("View1", Model.Table1) %> 
</div> 
<div id="section2"> 
<% Html.RenderPartial("View2", Model.Table2) %> 
</div> 
<div id="section3"> 
<% Html.RenderPartial("View3", Model.Table3) %> 
</div> 

: 내보기의 컨텐츠를 만들기 위해 이러한 뷰의 3 렌더링 싶어한다면 내가 좋아하는 뭔가를 할 것입니다 다른 필요한 마크 업. 위의 내용은 파생 뷰의 Content 섹션 안에 있습니다.

+0

view1, view2 및 view3 강력하게 하나의 데이터 테이블에서보기를 입력 한 있지만 View1 다른 테이블에서 다른 데이터 테이블 및 view3 View2 하나의 테이블에서 만든 경우 오류가 있습니다. 왜? – Ognjen

+0

보기에 필요한 모델 유형에 맞는 올바른 모델을 전달해야합니다. 업데이트 된 예제보기 – James

+0

코드를 업데이트했지만 하나의 오류가 있습니다 – Ognjen