2012-04-18 2 views
5

의심 할 여지없이 나는 여기에서 아주 명백한 것을 놓치고 있습니다. 그러나 나는 셰어 포인트에 익숙하지 않으므로 나와 함께 참아주십시오.sharepoint aspx 페이지의 코드 숨김은 어디에 있습니까?

마스터 페이지를 성공적으로 추가하고 콘텐츠 형식을 만들고 사용자 지정 콘텐츠 형식에 대한 aspx 페이지를 만들었지 만 해당 CS 파일을 찾을 수 없습니다!

코드 숨김이 SharePoint 솔루션에서 구현되는 다른 방법이 있습니까? 그것은 컨트롤을 만들 때 비슷한 것 같습니다. 나는 aspx 페이지의 모든 코드 숨김 파일을 표준으로 제공했다.

감사합니다.

답변

5

SharePoint에서는 코드 숨김 클래스를 사용할 수 있지만 aspx.cs 코드 숨김 파일이 아니라 어셈블리에 있어야합니다. 비주얼 스튜디오 2010을 사용

, 귀하의 영문 페이지에 대한 Page 지시문은 다음과 같이 보일 것입니다 : 당신은 다음 MyNamspace.MyPage 클래스를 만들고 정기적 코드 숨김 파일에서하는 모든 것을 할 수

<%@ Page 
    Language="C#" 
    DynamicMasterPageFile="~masterurl/default.master" 
    Inherits="MyNamspace.MyPage, $SharePoint.Project.AssemblyFullName$" 
    %> 

.

hive \ TEMPLATE \ LAYOUTS 디렉토리의 aspx 페이지를 살펴보면 레이아웃에 허용되는 인라인 코드가있는 반면, 거의 모든 페이지가 하나의 SharePoint 어셈블리에있는 클래스입니다.

+0

답장을 보내 주셔서 감사합니다. 부자 - 감사합니다. 그렇다면이 표준 ASP 프로젝트와 다른 점은 무엇입니까?코드 숨김 클래스가 '표준'이되는 것과는 대조적으로이 모든 것이 어지러운 이유는 무엇입니까? –

+0

SharePoint Designer에서 SharePoint 페이지를 추가/수정할 수 있으며 브라우저를 통해서도 SharePoint 페이지를 추가/수정할 수 있으므로 인라인 코드 및 코드 숨김 페이지는 안전성, 성능 및 기능상의 이유로 허용되지 않습니다. 차이점에 대한 자세한 내용은 [ASP.NET vs. SharePoint : 페이지 개발] (http://msdn.microsoft.com/en-us/library/ff512772.aspx) –

+0

오류 받기 '어셈블리를로드 할 수 없습니다' $ SharePoint.Project.AssemblyFullName $ '로 변경하십시오. 페이지에 액세스하기 전에 컴파일되었는지 확인하십시오. '내 aspx 파일이있는 폴더에 .cs 파일을 추가했습니다. 저는 또한 SP에 처음 왔습니다. – shashwat

1

SharePoint 전용 사이트에서이 정보를 묻는 것이 좋습니다. 당신은 그것을 here 찾을 수 있습니다.

그러나 질문에 답하면 적어도 MOSS 2007에서는 SharePoint 페이지에 사용할 수있는 코드가 없습니다. SharePoint 2010은 정확히 모르지만 동일해야합니다.

+0

감사합니다. 단테, 감사합니다. –

2

코드 비하인드는 2007 버전과 2010 버전의 디자인에 의해 숨겨져 있습니다. 위치 기반 (PageParserPath)별로 활성화하려면 here을 참조하십시오.

SharePoint에서 규칙을 고수하고 가능한 경우 코드 숨김 대신 컨트롤을 사용하려면 지원 가능성, 유지 관리 및 관리면에서 장기적으로 더 나을 것이 좋습니다.

+0

폴 감사합니다. 네, 꼭해야합니다 - 저는 셰어 포인트 개발과 관련하여 모범 사례를 수행 할 것입니다 - 왜 그런지 궁금합니다. 저는 분명히 웹 페이지에 서버 측 기능을 추가하기 위해 C#을 많이 사용했습니다. 이제는 웹 컨트롤에 대한 모든 책임을 나에게 외면하는 것처럼 보입니다. 왜 그런지 알 수는 없습니다. 나는 어쨌든, 계속 다시 읽어 주실 것입니다. –

2

셰어 포인트 디자이너에서 sharepoint .aspx 페이지를 열고 inherit 문을 .cs 클래스에 추가해야합니다. 같은

무엇인가 : 당신은 위치 기반 (PageParserPath) 당에서 활성화해야 바울의 대답 @ 이전으로

<%@ Page Language="C#" MasterPageFile="~masterurl/default.master" Inherits="Namespace.ClassName,Namespace,Version=1.0.0.0, Culture=neutral, PublicKeyToken=tokenid" %> 

한 가지가 남아있다.

+0

그러나 나는 코드 비하인드의 사용이 "권장하지 않는다"(또는 적어도 표준 asp.net 솔루션에서 작업하는 것보다 권장하지는 않는다). 권리? 귀하의 회신에 감사드립니다 @ Jigs. –

관련 문제