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

时间:2022-01-15 16:25:05

在《定制Sharepoint 2010表单页面(DispForm.aspx)》中解决了在定制过程中遇到的错误。在定制中使用SPD写RenderingTemplate,但是在页面自定义后发现,显示框上面始终有这么一块东西,不符合国人的习惯,干掉它!隐藏dispform.aspx页面的toolbar!

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

在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(&apos;Operation Successful!&apos;);
SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);
}
</script>

标题的链接就要写成<a href="javascript:open('/Lists/1/IndexDispForm.aspx?ID={@ID}')" title="{$DisplayTitle}" target="_self">

保存签入后点击公告标题,看最终效果。

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