0

问题是:

我在 MOSS 2007 发布站点中有一个使用布局的页面(该页面继承自 Microsoft.SharePoint.Publishing.TemplatedRedirectionPage),我需要为此页面编写代码隐藏,但仍然让布局模板机制工作。

我的尝试是编写一个继承自的类, Microsoft.SharePoint.Publishing.TemplatedRedirectionPage然后将页面更改为从我的类继承。该页面表现正常(即,它像以前一样工作),但我的代码后面的类中的方法不会被调用。

有谁知道我应该做什么?

但在这一点上,我很确定它不会起作用。我目前的方向是尝试在发布页面上放置一个自定义服务器控件,但我似乎也无法让它工作。除了通过其布局(这里不是一个选项)之外,是否无法自定义发布页面?

4

3 回答 3

1

事实证明,完成我想要的最直接的方法是在页面布局上放置一个 Web 部件区域,然后使用 SharePoint 编辑控件添加我的控件(可以轻松地将其制成 Web 部件) .

一切都很好,我不必做任何奇怪的事情。

于 2009-06-20T22:36:13.687 回答
0

好的,这就是它的工作原理。我相信您Microsoft.SharePoint.Publishing.TemplatedRedirectionPage从站点模板文件夹中的文件中获得了这个类。这些页面只是一种占位符。在站点中创建的实际页面不是基于 TemplatedRedirectionpage,而是基于站点中存在的页面布局实例。

为了解决您的问题,您可以采取

  1. 自定义页面布局(继承发布页面布局类并做你想要的东西)但是你说你不想要它。
  2. 第二个可用选项是使用功能创建可复制页面并将它们提供给站点(可复制页面和可复制库页面之间存在差异)。这将如何解决您的问题是您可以编写任何自定义代码/从您想要的任何类继承并使用功能来配置它。一个示例是查看文件“C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\TEMPLATE\SiteTemplates\sts”并查看 onet.xml 以了解其配置方式,C: \Program Files\Common Files\microsoft shared\Web Server Extensions\12\TEMPLATE\SiteTemplates\sts\xml\onet.xml ~163 行号。
于 2009-06-20T07:16:52.260 回答
0

发布页面本质上是由最终用户填充的页面布局(模板)。它的逻辑纯粹来自已添加到页面布局的控件。我没有听说过从发布页面类继承,因为它不应该是必要的 - 修改页面布局是这样做的方法。

如果您无法修改页面布局,这并不能真正帮助您(有什么原因吗?)。我不确定您要向页面添加什么功能,但这里有一些想法:

  • 创建一个包含具有您需要的功能的自定义控件的新页面布局,并在此基础上创建一个发布页面。
  • 如果您已经在页面布局中使用了自定义控件,请修改它们以提供您需要的功能。
  • 调查委托控制,看看它们是否适合你。
于 2009-06-20T10:26:17.570 回答