문제

나는 최근에 "웹 사이트 프로젝트 템플릿"(그런데 나는 싫어함)으로 수행된 프로젝트를 물려받았습니다.저는 항상 제가 좋아하는 "웹 애플리케이션 템플릿"을 사용해 작업해 왔습니다.하지만 프로젝트에서 발견한 내용 때문에 당황스럽습니다.모든 페이지에는 다음과 같은 사용자 정의 컨트롤 인스턴스가 있습니다.

<cc1:MarketingItem runat="server" ID="BannerAd" />

거기엔 너무 멋진 건 없지, 그렇지?나를 정말 짜증나게 하는 것은 페이지 상단에 "cc1"에 대한 컨트롤 등록 태그가 없어도 잘 작동한다는 것입니다. 또는 그 뒤의 코드는 단지 마술일 뿐입니다!상상할 수 있듯이 이로 인해 이러한 컨트롤의 위치를 ​​추적하는 것이 더 많은 작업이 되고 솔직히 고통스럽습니다.내 질문은 이것이 어떻게 가능합니까?그리고 Microsoft가 이 프로젝트 템플릿에 이렇게 짜증나는 불일치를 도입한 이유는 무엇입니까?

도움이 되었습니까?

해결책

아마도 web.config(system.web>pages>controls)에 등록되어 있을 것입니다.페이지에서와 마찬가지로 전역적으로 컨트롤을 등록할 수 있습니다.

<pages>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </controls>
</pages>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top