以下是问题的描述,我先从数据说起.数据存储在一个叫pages的自定义列表中,该列表除默认的栏外,另增加了一栏\"Abstract\",为多行文本,用于存储文章摘要信息.当该列表中录入数据后如图:
我们该如何做,才能让创建时间或创建者按客户预想的效果展示?
解决办法要从这里寻找:
D:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx
打开该文件,查找关键词“CreatedModifiedInfo”,找到如下的内容:
<SharePoint:RenderingTemplate ID="CreatedModifiedInfo" runat="server">
<Template>
<table cellpadding=0 cellspacing=0>
<tr><td nowrap class="ms-descriptiontext" ID=onetidinfoblock1>
<SharePoint:FormattedString FormatText="<%$Resources:wss,form_createdby%>" runat="server">
<SharePoint:FormField ControlMode="Display" FieldName="Created" DisableInputFieldLabel="true" runat="server"/>
<SharePoint:FormField ControlMode="Display" FieldName="Author" DisableInputFieldLabel="true" runat="server"/>
<SharePoint:CreationType runat="server"/>
</SharePoint:FormattedString>
</td></tr>
<tr><td nowrap class="ms-descriptiontext" ID=onetidinfoblock2>
<SharePoint:FormattedString FormatText="<%$Resources:wss,form_modifiedby%>" runat="server">
<SharePoint:FormField ControlMode="Display" FieldName="Modified" DisableInputFieldLabel="true" runat="server"/>
<SharePoint:FormField ControlMode="Display" FieldName="Editor" DisableInputFieldLabel="true" runat="server"/>
</SharePoint:FormattedString>
</td></tr>
</table>
</Template>
</SharePoint:RenderingTemplate>
看到这里,我想大家已经知道该怎么办了。
在SharePoint Desinger中,重新定义该控件的模板。
比如,像这样:
<SharePoint:CreatedModifiedInfo ControlMode="Display" runat="server">
<CustomTemplate>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>创建时间: </td>
<td><SharePoint:FieldValue FieldName="Created" runat="server" ControlMode="Display" DisableInputFieldLabel="true"/></td>
</tr>
</table>
</CustomTemplate>
</SharePoint:CreatedModifiedInfo>
最终效果如下
FieldValue这个控件真是好用啊。其他几个,都可以这么来显示。只要修改FieldName即可