MOSS发布页面上的自定义服务器控件

时间:2009-06-19 17:34:00

标签: asp.net sharepoint moss code-behind

问题是:

  

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

     

我的尝试是写一堂课   继承自   Microsoft.SharePoint.Publishing.TemplatedRedirectionPage,   然后将页面更改为继承   来自我的班级。页面表现   通常(即,它像以前一样工作),   但我的代码背后的方法   上课没有被召唤。

     

任何人都知道我应该做什么?

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

3 个答案:

答案 0 :(得分:1)

事实证明,实现我想要的最直接的方法是在页面布局上删除Web部件区域,然后使用SharePoint编辑控件添加我的控件(可以将其制作成Web部分原因)。

一切都很好,我没有做任何怪异的事情。

答案 1 :(得分:0)

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

要解决您的问题,您可以

  1. 自定义页面布局(继承发布页面布局类并执行你想要的东西)但是你说你不想要它。
  2. 第二个可用的选项是使用Feature创建一个Ghostable页面并将它们提供给站点(Ghostable Pages和GhostableInLibrary页面之间存在差异)。这将如何解决您的问题是您可以从任何所需的类编写任何自定义代码/继承,并使用功能来配置它。一个例子是查看文件'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行号。

答案 2 :(得分:0)

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

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

  • 创建一个新的页面布局,其中包含具有您所需功能的自定义控件,并根据该页面创建发布页面。
  • 如果您已在页面布局中使用自定义控件,则修改它们以提供您需要的功能。
  • 调查delegate controls并查看它们是否适合您。