2013-07-26 3 views
0

클래스 라이브러리에 내 사용자 정의 컨트롤이 있고 사용자 정의 컨트롤을 HTML 문자열로 반환하는 공용 메서드가 있습니다. 이 HTML을 MVC 뷰에 표시하고 싶습니다. 내보기에 다음 코드를 사용하고 있습니다 :MVC보기에서 사용자 정의 컨트롤을 표시하는 방법

<div> 
<% MyControlsNamespace.MyControl mvc = new MyControl(); 
    mvc.LoadMyControl(); %> 
</div> 

LoadMyControl()은 문자열을 HTML로 반환합니다. 브라우저에서 열면 내 생각에 어떤 것도 볼 수 없습니다. MVC를 처음 접했고 여기에 실종 된 것을 알았습니다. 어떤 추측 ??? MVC1을 사용 중입니다.

+0

ASP.NET MVC는 웹폼로했다 동일한에서 사용자 컨트롤을 사용하지 않습니다. 또한 User Control 클래스는 HTML을 직접 포함하지 않으며, ASP.NET MVC에는 적용되지 않는'LoadControl'을 사용하여 생성 된'.ascx' 파일 내에 포함됩니다. – Dai

+0

이 경우 최선책은 무엇입니까? 나는 ascx 사용자 정의 컨트롤을 가지고 LoadControl()을 사용하여이 컨트롤을로드하고이를 문자열로 렌더링합니다. 이 문자열을 내 MVC보기로 표시하려면 어떻게합니까? – PushCode

답변

2

<% Html.RenderPartial("Path/To.ascx") %> 또는 <%= Html.Partial("Path/To.ascx") %>을 사용하십시오.

응답 스트림에 직접 사용자 정의 렌더링을 사용할 때 RenderPartial을 사용하거나 출력을 MvcHtmlString으로 가로 채고 싶다면 Partial을 사용하십시오. RenderPartial이 더 빠르며 일반적으로 선호됩니다. MvcHtmlString이 필요한 경우 Partial 만 사용하십시오.

자세한 내용은 여기에서 볼 수 있습니다 : Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction

+0

고마워요 ... 알아 들었어. – PushCode

관련 문제