Изменить формат даты для «последнего изменения» в SharePoint: CreatedModifiedInfo - PullRequest
1 голос
/ 29 января 2010

Я пытаюсь изменить формат даты, отображаемый в пользовательском шаблоне, используя поле. То, что я хочу отобразить это:

Эта страница была последний раз изменена 29 января 2010 от Джоэла Спольски

(где имя пользователя указывает на его профиль).

Я нашел несколько хороших примеров здесь http://mindsharpblogs.com/aaron/archive/2008/02/08/4283.aspx, которые помогли мне настроить пользовательский шаблон. И я просмотрел учеников по документации MSDN . Но я не могу понять, как изменить формат даты.

Есть ли способ передать строку формата даты, такую ​​как " d MMM гггг ", в FieldValue для использования при рендеринге?

Это мой текущий код, который работает, за исключением того, что формат даты представлен 29.01.2010 19:22, что не так удобно для пользователя.

<SharePoint:CreatedModifiedInfo ControlMode="Display" runat="server">
        <CustomTemplate>
            This page was last modified on
            <SharePoint:FieldValue FieldName="Modified" runat="server" ControlMode="Display" DisableInputFieldLabel="true"/>
            by
            <SharePoint:FormField FieldName="Author" runat="server" ControlMode="Display" DisableInputFieldLabel="true" />
        </CustomTemplate>
</SharePoint:CreatedModifiedInfo>

Ответы [ 2 ]

0 голосов
/ 02 февраля 2010

Я нашел немного другое решение проблемы. Я не на 100% доволен этим, но это довольно просто. Это было основано на решении, которое я прочитал здесь: http://panvega.wordpress.com/2009/03/16/masterpagepagelayout-format-date-field/

Вы создаете пользовательский столбец в библиотеке типа «Рассчитано» и форматируете дату так, как хотите. В моем случае это означало:

=TEXT(Modified,"d MMM yyyy")

Затем в макете страницы я просто ссылаюсь на это поле, и форматирование уже выполнено:

<SharePointWebControls:CalculatedField ID="CalculatedField" FieldName="Display Date" runat="server" />

Это не такое элегантное решение, как я искал, в основном потому, что оно требует добавления настраиваемого столбца в каждую библиотеку страниц. Но для этого требуется очень мало кода.

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

0 голосов
/ 31 января 2010

Я думаю, вы можете напрямую вызвать значение поля элемента и отформатировать его. Попробуйте этот код ниже и добавьте тег импорта в заголовок.

<%@ Import Namespace="Microsoft.SharePoint" %>
...
<SharePoint:CreatedModifiedInfo ControlMode="Display" runat="server"> 
    <CustomTemplate> 
        This page was last modified on 
        <%=SPContext.Current.ListItem["Modified"]==null?"":((DateTime)SPContext.Current.ListItem["Modified"]).ToString("d MMM yyyy")%>
        by 
        <SharePoint:FormField FieldName="Author" runat="server" ControlMode="Display" DisableInputFieldLabel="true" /> 
    </CustomTemplate> 
</SharePoint:CreatedModifiedInfo> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...