在《定制Sharepoint 2010表单页面(DispForm.aspx)》中解决了在定制过程中遇到的错误。在定制中使用SPD写RenderingTemplate,但是在页面自定义后发现,显示框上面始终有这么一块东西,不符合国人的习惯,干掉它!隐藏dispform.aspx页面的toolbar!
在dispform页面中,第一行代码是:
<%@ Page language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" meta:progid="SharePoint.WebPartPage.Document" meta:webpartpageexpansion="full" %>
把default.master改成custom.master,这时再查看,发现页面已经采用了自定义的母版页,但是toolbar依然在,并且看起来更加的不伦不类,这样不行。
那就为表单页面也整一个母版页吧,复制一份原来的母版页,把不需要的地方给隐藏了。我把这个母版页重命名成ListForm2010.master,然后再把DispForm.aspx复制一份,然后我把复制的这个重命名成IndexDispForm.aspx,然后打开编辑,第一行的MasterPageFile="~masterurl/default.master"改成MasterPageFile="/_catalogs/masterpage/ListForm2010.master",这样页面就采用了自定义模板。
最后,再让公告在弹出框中显示,这个是定义内容查询器标题了,详细可以参看这篇博客《moss自定义内容查询webpart》,这个上面没有讲到怎样在弹出框中显示通知公告内容。弹出框的实现靠的还是JS。在新建的标题样式中插入这么一段JS:
<script type="text/javascript">
var options={
title: "公告",
allowMaximize: true,
showClose: true,
width: 1020,
dialogReturnValueCallback: silentCallback
};
function open(id) {options.url=id;
SP.UI.ModalDialog.showModalDialog(options);
}
function silentCallback(dialogResult, returnValue) {
}
function refreshCallback(dialogResult, returnValue) {
SP.UI.Notify.addNotification('Operation Successful!');
SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);
}
</script>
标题的链接就要写成<a href="javascript:open('/Lists/1/IndexDispForm.aspx?ID={@ID}')" title="{$DisplayTitle}" target="_self">
保存签入后点击公告标题,看最终效果。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南