2012-06-27 6 views
0

기존 ASP.NET Webforms 3.5 응용 프로그램을 ASP.NET MVC 3 응용 프로그램으로 마이그레이션하려고합니다. 즉, 기존의 .aspx 페이지를 웹 콘트롤 및 코드 숨김으로 컨트 리뷰 션 로직 및 면도기 뷰를 사용하여 변환하려고합니다. 현재 나는 마스터 페이지에 집중하고 있습니다 (다른 모든 면도보기에 대해 analogue layout.cshtml을 얻으려는 것입니다). 예를 들어, asp : Menu, asp : LoginView와 같은 컨트롤을 부분 뷰 및 @ Html.Action과 같이 바꿔 컨트롤러 액션을 호출하고 이전에 해당 마스터 페이지의 코드 숨김에 있던 코드를 실행하여 부분 뷰를 반환합니다.ASP.NET MVC 마이그레이션 마스터 페이지 - 웹 컨트롤 로직 관련 문제

하지만 이제는 코드 뒤에있는/설정되어있는 마스터 페이지의 많은 웹 컨트롤을 잃어 가고 있습니다. 예를 들어 방문 페이지에 따라 표시/비 표시로 전환 된 마스터 페이지의 두 개의 asp : 패널이 있습니다. 문제는 면도보기에서 웹 컨트롤이없고 컨트롤러에서 속성/속성 (예 : 개인 int 카운터)을 설정할 수 없다는 것입니다. 따라서 계속 수행하는 방법을 모르겠다. ...

이 상황에 대한 아이디어 나 경험이 있기를 바랍니다. 누락 된 정보가 있는지 물어보십시오.

답변

0
당신은 어느 컨트롤러의 모델 또는을 ViewData의 속성을 설정 한 후 면도기에서 다음을 사용할 수 있습니다

함께 볼 @if

예를 들어, 보기에서

public ActionResult Index() 
{ 
    ViewBag.Foo = IsThisFoo(); 
    View(); 
} 

: 컨트롤러에

@if (ViewBag.Foo) { 
    <p>This is foo</p> 
} 
else 
{ 
    <p>This is bar</p> 
} 

주의 : 가장 좋은 방법은 뷰에 대한 강력한 형식의 모델의 한 부분으로 그것을 할 것

관련 문제