it-swarm.dev

ASP.NET의 콘텐츠 컨트롤이 포함 된 콘텐츠 페이지에는 직접 콘텐츠 컨트롤 만 허용됩니다.

마스터 페이지와 자식 페이지가있는 응용 프로그램이 있습니다. 내 응용 프로그램이 로컬 호스트 (인트라넷)에서 제대로 작동합니다. 그러나 인터넷에있는 서버에 넣으면 메뉴를 클릭하면 아래와 같은 오류가 발생합니다.

콘텐츠 컨트롤 만 포함 된 콘텐츠 페이지에서는 콘텐츠 컨트롤 만 직접 허용됩니다.

screenshot

31
Tripati Subudhi

하위 페이지 전체에서 시작 및 종료 컨텐츠 태그를 두 번 및 세 번 확인하십시오.

확인

  • 존재한다
  • 철자가 정확하다
  • 신분증이있다
  • runat = "server"가 있음
  • 올바른 ContentPlaceHolderID가 있어야합니다
24
Brian Webster

나는 정확히 같은 문제가 있었다. 문제는 내가했다 일부 공간 종료 컨텐츠 태그 다음에 :

</asp:Content>

마지막 닫는 태그 다음에 공백을 모두 제거하십시오.

10
Adrian Garcia

나는 비슷한 문제에 직면했다. "content"태그로 코드를 둘러싸고 있습니까?

<asp:Content>Add your HTML here</asp:Content> 

섹션에 대해 별도의 콘텐츠 태그가 있어야합니다. 헤더 선언의 본문 내용과 본문 선언의 본문 내용.

9
Mohammed Aamir K

또 다른 가능성은 줄 끝입니다. 유닉스 스타일 라인 엔딩을 시행하는 소스 컨트롤에서 이전 버전의 코드를 복사했습니다. 체크 아웃이 아니기 때문에 줄 끝을 DOS/Windows 스타일로 자동 변환하지 않았습니다. 오류 메시지는 페이지가 올바르게 배치되었지만 "컨텐츠 컨트롤 만 직접 허용됨"오류입니다. Windows 스타일 줄 바꿈이 없으면 ASPX 파서가 실패한 것으로 보입니다.

코드를 줄 끝 무의식 편집기 (줄 끝을 Windows 스타일로 정규화 시켰습니다)에 붙여 넣고 클립 보드에 다시 복사 한 다음 Visual Studio에서 다시 붙여 넣은 후 페이지를 수정하여 문제를 해결할 수있었습니다. 오류없이 처리되었습니다.

Tripati Subudhi가 제시 한 경우 배포 프로세스에 대해 실수로 줄 끝을 Unix 스타일로 변환하여 오류가 발생했을 가능성이 있습니다.

9
jball

또 다른 가능한 문제는 HTML 주석입니다. 컨텐츠 컨트롤을 둘러싼 내용이 있습니다. ASP.NET이 이것을 장면 뒤의 리터럴 컨트롤로 변환한다고 생각합니다. 따라서 오류 i

6
user369142

이 오류의 다른 잠재적 원인 : 대소 문자가 잘못된 태그.

바꾸다 <asp:content>...에서 <asp:Content>... 내 경우에 문제가 해결되었습니다.

잘못된 사례의 원인은 기본 설정을 사용하는 Visual Studio 2012 (및 2013)의 내장 형식 문서 기능 때문이었습니다. 이 설정은 도구-> 옵션-> 텍스트 편집기-> HTML (웹 양식)-> 서식에서 변경할 수 있습니다 : 태그 대문자를 '입력 한대로'로 설정하면 스튜디오는 더 이상 파일을 파괴하지 않습니다.

4
garglblarg

저에게는 어셈블리가 있고 페이지 지시문이 주석 처리 된 것을 좋아하지 않았습니다.

<%--<%@ Assembly Name="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" %>--%>
<%--<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyPage.aspx.cs" Inherits="MyClass.MyPage" MasterPageFile="~/_layouts/MyProject/MasterPages/MasterPage.master" %>-->

그 후에 유효한 Page 지시문이 있었지만 System.Core를 사용하지 않았습니다. 그냥 제거한 후에는 잘로드되었습니다.

2
vapcguy

나를 위해 동일한 ID를 가진 두 개의 콘텐츠 컨트롤이있었습니다. 파일은 Visual Studio 외부에서 편집되었으므로 중복 ID의 자동 이름 바꾸기가 발생하지 않았습니다. 이 잘못된 오류는 첫 번째 이미지와 동일한 ID를 가진 두 번째 콘텐츠 컨트롤의 첫 번째 이미지를 강조하는 것입니다.

그 시점에 VS가 중복 컨트롤 ID의 이름을 바꿨 기 때문에 전체 페이지를 복사하고 다시 게시하면 해결되었습니다.

1
ITFlyer

인쇄되지 않은 문자가 있는지 문서를 확인하십시오.

다른 페이지에서 <%@ Master %> 지시문을 붙여 넣었으므로 마스터 페이지에 파일 시작 부분에 two UTF-8 BOM이 포함되었습니다. 나는 백 스페이싱하여 작동시킬 수있었습니다.

0
mm201

제 경우에는 AjaxControlToolkit.dll의 어셈블리 참조를 추가하는 것을 잊었습니다.

참조를 추가하면 오류가 사라졌습니다.

0
Sumit Jambhale

계속 간과하는 바보 같은 구문 오류가 발생했습니다. 여분의 <MasterType 태그의 시작 부분에서 내 인생을 볼 수 없었습니까 ???? ‍‍️️.

<%@ Page Language="vb" AutoEventWireup="true" MasterPageFile="~/Site1.Master" CodeBehind="Default.aspx.vb" Inherits="SomeApp.Web._Default" %>

<<%@ MasterType VirtualPath="~/Site1.Master" %>
0
spottedmahn

sharePoint에서 pageLayout이 게시되지 않은 이후에 발생했습니다.

0
bresleveloper