2
모바일 웹 개발 http://www.asp.net/learn/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application에 대한 Steven Sanderson의이 링크를 읽었으며 aspx에서 면도기 코드를 실행하려고합니다. URL에서asp.net mvc에서 어떻게 masterpage를보기에서 전환합니까?
면도기 코드 :
@{
Layout = Request.Browser.IsMobileDevice ? "~/Views/Shared/_LayoutMobile.cshtml"
: "~/Views/Shared/_Layout.cshtml";
}
내 영문 적응 :
<%@ Page Title="" Language="C#" MasterPageFile=Request.Browser.IsMobileDevice ? "~/Views/Shared/mobile.Master" : "~/Views/Shared/site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
하지만이 날이 오류를 제공합니다
ASP.NET runtime error: Only Content controls are allowed directly in a content page that contains Content controls.
이 있습니까 영문에서이 작업을 수행 할 수있는 방법을 ?
어디에서 났는지, 결코 면도기는 언급하지 않았습니다. 도움이되지는 않지만 렌더링 프로세스가 시작되기 전에 마스터 페이지를 설정해야합니다. –
링크를 따라 가면 면도기 엔진을 사용하여 설명하고있는 Steve Sanderson이 ... 컨트롤러에서 마스터 페이지를 설정할 수 있는지 알지 못했습니다. 새로운 정보를 제공해 주셔서 감사합니다. :-) – quakkels
나는 이것을 내려야 만한다. 컨트롤러에서 마스터를 교체하는 것은 절대적으로 끔찍합니다. 모든 행동 메소드에 "this.IsMobile?"Mobile ":"Regular "또는 그와 유사한 행이있을 것을 제안합니다. 기사가 말하고이 행동을 한 번 정의한 것처럼 더 나은 장소는 사용자 정의보기 엔진 또는 Layout.cshml입니다. – jfar