문제

.NET MVC를 사용하고 있으며 View 페이지 내에서 마스터 페이지에 사용될 ID가 포함 된 Contentplaceholder를 설정합니다.

페이지보기 :

<asp:Content ID="CDomBodyId" ContentPlaceHolderID="DomBodyId" runat="server">LmpDemoRequests</asp:Content>

마스터 페이지 :

<body id='<asp:ContentPlaceHolder ID="DomBodyId" runat="server"></asp:ContentPlaceHolder>'>

따라서이 특별한 경우, 바디 태그는 최종 HTML 페이지에서 이와 같은 렌더링됩니다.

<body id='LmpDemoRequests'>

Body ID 태그 주위에 이중 인용문을 원하지만 다음과 같은 인용문을 반전 시키면 Intellisense가 Contentplaceholder를 찾을 수 없어서 컴파일 할 때 많은 경고를줍니다.

<body id="<asp:ContentPlaceHolder ID='DomBodyId' runat='server'></asp:ContentPlaceHolder>">

이 주위에 어떤 방법이 있습니까?

도움이 되었습니까?

해결책

바디드를 마스터 페이지의 속성으로 선언 해보십시오. 보기 페이지에서 값을 설정하십시오. 그런 다음 같은 일을 할 수 있습니다 <html> <body='<%= BodyID %>'> </body </html>

다른 팁

이것은 ASP.NET 편집기의 문제입니다. MVC에만 국한되지 않습니다. 나는 해결 방법이 꽤 좋다고 생각하며 특정 단점이 보이지 않습니다.

질문을 오해했는지 확실하지 않지만 추가 할 수도 있습니다.

<body id="site" runat="server"></body>

그런 다음 페이지에서 액세스하십시오

HtmlControl body = (HtmlControl)Master.FindControl("site");
body.Attributes.Add("class", "LmpDemoRequests");

나는 당신을 올바르게 이해하기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top