2011-03-17 7 views
0

보기 (~/Views/Component/Create.aspx)를 아무런 문제없이 렌더링하는 컨트롤러가 있습니다.한 페이지에 여러보기 포함

이보기가 표시되면, 내가 좋아하는 것까지 중 하나

(1) 때 모달 팝업에 링크를 사용자가 클릭, (여기에 아무 문제), 뷰 (NOT 부분보기)를 표시 하지만 (~/Views/TransportType/Index.aspx)에서 전체 aspx보기

왜? (~/Views/TransportType/Index.aspx)가 100 %가되어야하며 TransportType 컨트롤러에서 부분 뷰를 렌더링합니다. 그래서 한 화면에서 다양한 화면으로 이동하지 않고도 (Insert/Update/Edit/Delete) 기능을 사용자에게 제공합니다.

또는

(2) 내 (~/조회/컴포넌트/만들기) 나는 <퍼센트 = Html.RenderAction ("인덱스", "의 transportType")을 렌더링에 정착 것 %> 어딘가에 페이지에서 div 내에서 JavaScript를 사용하여 전환 할 수 있습니다. 이 접근 방식을 사용하려고 할 때만 CS1502를 얻을 수 있습니다. 'System.IO.TextWriter.Write (char)'에 대한 최상의 오버로드 된 메서드 일치는 잘못된 인수가 있습니다.

참고 : www.MySite.com/TransportType/Index를 직접 찾아 볼 수 있지만 위의 # 2에서 설명한 방법을 사용하려고하면 위의 오류가 발생합니다.

나는 모든 것을 시도했다. 나는 이것을 이해하려고 노력하는 데 하루 종일 투자했다. 빠른 픽스를 쉽게 구현할 수는 있지만, 전체 판매 포인트를 무효화 할 것입니다. MVC와 관련된 회사와 코드 숨김에 대한 장점을 확신 할 수 있습니다. 제발 도와주세요 아니면 뒤로 코드의 ASP.NET 세계로 롤백 할 수 있습니다.

결론 :?. 당신이 JQuery와 - UI를 사용하는 경우

답변

1

당신이 대화 방법을 사용할 수 있습니다 : "사람이보기 내에서 뷰를 렌더링하기 위해 또는 내가 잘못된 질문을 얼마나 알고 있나요 여기

하는 몇 가지 코드입니다 .

예 :

<a href="<%=Url.Action("Index","TransportType") %>" id="transports">Types</a> 
<div id="window"></div> 
<script type="text/javascript"> 

$(document).ready(function(){ 
    $("#transports").click(function(){ 
     $("#window").load(this.href).dialog({title:"transport list"}); 
     return false; 
    }); 
}); 
</script> 

편집 : 전에 =를 두지 않는 Html.RenderAction를 사용하려면와 ;두고 마지막에 아무 것도 반환하지 않기 때문에 : <% Html.RenderAction("Index", "TransportType"); %>

+0

Gregoire, thanks a million! Html.RenderAction 정정은 내가 필요로하는 것이었다. 그러나 jQuery 접근법을 사용하여 "Types"하이퍼 링크를 클릭하면 실제 TransportType/Index로 리디렉션됩니다. 잊어 버린 것이 있습니까? –

+0

그레고리, 다음과 같은 오류가 발생합니다 : $ ("# window") .load. (this.href) .dialog는 함수가 아닙니다. –

+0

@Robert Green : jquery-ui 스크립트를 포함 시켰습니까? – Gregoire