您的位置:首页 > 编程语言 > ASP

定制Sharepoint 2010表单页面(DispForm.aspx)

2011-03-05 11:09 441 查看
在《WSS3.0开发--页面定制(1)--修改列表的表单页面》和《WSS页面定制系列(2)---定制单个列表的表单页面》已经很详细了介绍了在WSS3.0中的定制的方法。方法1,使用Sharepoint Designer写RenderingTemplate;方法2,直接修改DispForm.aspx页面,隐藏原有的表单内容,重写页面。第一个方法明显具有优势,可复用性高。

按照那篇文章说的一步一步做。

首先,在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES目录中有一个DefaultTemplates.ascx文件,这个文件就是很多模板控件。找到

<SharePoint:RenderingTemplate ID="ListForm" runat="server">

…………

</SharePoint:RenderingTemplate>

这个控件。

然后,把这部分复制,在CONTROLTEMPLATES文件夹下新建一个CustomListForm.ascx文件(这个文件名无所谓),把刚才复制的内容粘贴到这个文件中。然后再把DefaultTemplates.ascx头部的代码复制添加到CustomListForm.ascx的头部,代码如下:

<%@ Control Language="C#" AutoEventWireup="false" %>
<%@Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@Register TagPrefix="SharePoint" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" namespace="Microsoft.SharePoint.WebControls"%>
<%@Register TagPrefix="ApplicationPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" namespace="Microsoft.SharePoint.ApplicationPages.WebControls"%>
<%@Register TagPrefix="SPHttpUtility" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" namespace="Microsoft.SharePoint.Utilities"%>
<%@ Register TagPrefix="wssuc" TagName="ToolBar" src="_controltemplates/ToolBar.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="ToolBarButton" src="_controltemplates/ToolBarButton.ascx" %>

接着,加上3条横线,按照参考文章进行的。

…………

<SPAN id='part1'>
<hr/>
<hr/>
<hr/>
<SharePoint:InformationBar runat="server"/>

…………

把DispForm.aspx中<TemplateName xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">ListForm</TemplateName>改成TemplateName xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">CustomListForm</TemplateName>,这个是列表模板名称,不是文件的名称。

再重启IIS,刷新看效果。



咦!没效果!在Sharepoint2010中不能这么定制?

找原因开始!在网上搜了一下也没找到什么,可能用2010的还不是特别多吧。

打开事件查看器,在应用程序日志中发现了这么一个错误:

加载控件模板文件 /_controltemplates/CustomListForm.ascx 失败: 文件“/_controltemplates/_controltemplates/ToolBar.ascx”不存在。

怎么会是文件“/_controltemplates/_controltemplates/ToolBar.ascx”不存在,路径不对,删除一个文件夹路径

头部代码的最后两行就改成了

<%@ Register TagPrefix="wssuc" TagName="ToolBar" src="ToolBar.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="ToolBarButton" src="ToolBarButton.ascx" %>

保存,重启IIS,刷新看效果。



三条横线出现了,这样就可以开始个性化定制页面了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐