2010-03-29 2 views
3

Наверняка должен быть простой способ поместить простой блок кода в главную страницу :(Я пробовал использовать очевидный синтаксис <%= "Hello, World!" %>, но блоки кода не разрешены. Затем попробовал сайт столбец, но не знаете, как их использовать. Затем попробуйте веб-зоны, но мастер-страницы не смогут их использовать. Попробуйте помещать веб-часть (которую сложно создать и развернуть btw) в макете страницы, но она просто не работает «т визуализации:/Добавить сегодняшнюю дату на главную страницу SharePoint.

Все, что я хочу что-то хорошее и простое в верхней части моего сайта, который показывает текущую дату и формат я хочу использовать это DateTime.Today.ToString("ddd, d MMMM yyyy") Как это сделать

(в противном случае я.? 'm resortin г до яваскрипта document.write!)

Спасибо всем,

ответ

6

Рекомендуемое решение этой проблемы было бы использовать элемент управления на стороне сервера. Как вы говорите, разработка веб-части для этого кажется излишним. Более простым вариантом было бы использовать простой пользовательский элемент .ascx, а затем ссылаться на него на странице. This post объясняет, как добавить элемент управления пользователя в папку «Шаблоны», а затем ссылаться на его главную страницу.

Хотя для такой простой проблемы, я думаю, ваша идея JavaScript на самом деле нормально. И это позволит вам показывать текущее время в часовом поясе пользователя, что не так просто на стороне сервера. Это похоже на взломы, чтобы использовать клиентский код для этого типа вещей, но использование кода JavaScript в SharePoint на самом деле является действительно мощным инструментом.

+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

Контроль на стороне сервера определенно является рекомендуемым решением для размещения пользовательского кода на главной странице. Это более широкий ответ, чтобы охватить почти все, что вы хотели бы сделать. Однако это не всегда ваш первый и последний вариант.

В вашей ситуации вам необязательно писать пользовательскую веб-часть или серверный элемент управления (и вникать в требования безопасности и развертывания). По-моему, это за борт. Поскольку у вас уже есть доступ к MasterPage, и дата/время, это все, что требуется, вы можете использовать простой код JavaScript:

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

Это, конечно, покажет дату и время клиента, а не сервера. В большинстве случаев это не громадная сделка, так как вы можете использовать getTimezoneOffset() для исправления любых несоответствий в часовых поясах.