2010-03-29 2 views
3

단순한 코드 블록을 마스터 페이지에 넣는 간단한 방법이 반드시 있어야합니다. (분명히 <%= "Hello, World!" %> 구문을 사용했지만 코드 블록을 사용할 수 없었습니다.) 그런 다음 사이트를 사용해 보았습니다 열,하지만 그들을 사용하는 방법을 모르겠다. 다음 웹 영역을 시도하지만 마스터 페이지를 사용할 수 없습니다. (레이아웃 및 btw 만들기가 매우 어려운) 웹 파트를 페이지 레이아웃에 넣으려고했는데 'T는 렌더링 :./SharePoint 마스터 페이지에 오늘 날짜 추가

내가 원하는 건 내가 그것을 어떻게 오늘의 날짜와 내가 사용할 형식이 DateTime.Today.ToString("ddd, d MMMM yyyy") 보여줍니다 내 사이트의 상단에 좋은 간단한 뭔가

(그렇지 않으면 내가? 나는 술렁이다. 자바 스크립트 document.write를에 g!)

모두 감사합니다,

답변

6

이에 권장되는 솔루션은 서버 측 컨트롤을 사용하는 것입니다. 당신이 말했듯이, 이것에 대한 웹 파트를 개발하는 것은 과잉이라고 생각됩니다. 더 간단한 옵션은 간단한 .ascx 사용자 정의 컨트롤을 사용한 다음 페이지에서이를 참조하는 것입니다. This post은 Templates 폴더에 사용자 정의 컨트롤을 추가 한 다음 마스터 페이지에서이 컨트롤을 참조하는 방법을 설명합니다.

비록 간단한 문제이지만 자바 스크립트에 대한 귀하의 생각은 실제로 괜찮다고 생각합니다. 그리고 그것은 사용자가 서버 측에서 쉽지 않은 현재 시간대를 보여줄 수있게 해줍니다. 이런 유형의 클라이언트 측 코드를 사용하는 해킹처럼 보이지만 실제로 SharePoint에서 JavaScript 코드를 사용하는 것은 실제로 강력한 도구입니다.

+0

니스, 감사합니다. 이 링크는 실제로 도움이되었습니다. 이제 코드는 인라인 코드 블록 없이도 멋지고 깨끗합니다. 많은 감사를드립니다! – soniiic

+1

그리고이 컨트롤을 대리자 컨트롤 내에서 사용하는 경우 마스터 페이지를 수정하지 않고도이 컨트롤을 설정하거나 해제 할 수 있습니다. – Alex

3

는 "Code blocks are not allowed in this file"예외를 얻을하지 않습니다?

어쨌든 기본적으로 페이지의 코드는 허용되지 않습니다. SharePoint 디자이너가있는 페이지를 편집 할 수있는 모든 사람이 코드를 내부에 넣기 시작하면 어떻게 될까요? 당신이 그렇게 선택하면

, 편집 web.conf :

<PageParserPaths> 
    <PageParserPath VirtualPath="/_catalogs/masterpage/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" /> 
</PageParserPaths> 
1

서버 쪽 컨트롤은 마스터 페이지에 사용자 지정 코드를 배치 할 때 권장되는 솔루션입니다. 이것은 당신이하고 싶은 거의 모든 것을 포괄하는 폭 넓은 대답입니다. 그러나 항상 첫 번째이자 마지막 옵션은 아닙니다.

상황에 따라 사용자 지정 웹 파트 또는 서버 컨트롤을 작성하고 보안 및 배포 요구 사항을 조사 할 필요는 없습니다. 내 의견으로는, 이것은 배 밖으로있다. 클라이언트의 날짜와 시간이 아닌 서버를 보여줍니다 물론

var now = new Date(); 
document.write(now.format("ddd, d MMMM yyyy")); 

이 : 이미 MasterPage에 액세스 할 수 및 날짜/시간이 필요한 모든 것을이기 때문에, 당신은 몇 가지 간단한 자바 스크립트 코드를 사용할 수 있습니다. 대부분의 경우 큰 문제가 아니므로 getTimezoneOffset()을 사용하여 시간대 불일치를 해결할 수 있습니다.

관련 문제