Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net MOSS发布页面上的自定义服务器控件_Asp.net_Sharepoint_Moss_Code Behind - Fatal编程技术网

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

Asp.net MOSS发布页面上的自定义服务器控件,asp.net,sharepoint,moss,code-behind,Asp.net,Sharepoint,Moss,Code Behind,问题是: 我在MOSS 2007上有一页 使用布局的发布站点 (页面继承自 Microsoft.SharePoint.Publishing.TemplatedDirectionPage),以及 我需要为此写一个代码 页面,但仍允许布局 模板机制工作 我试图写一个 继承自 Microsoft.SharePoint.Publishing.TemplatedDirectionPage, 然后将页面更改为继承 从我的班级。页面的行为 正常情况下(即,它像以前一样工作), 但是我的代码中的方法 上课不要被

问题是:

我在MOSS 2007上有一页 使用布局的发布站点 (页面继承自
Microsoft.SharePoint.Publishing.TemplatedDirectionPage
),以及 我需要为此写一个代码 页面,但仍允许布局 模板机制工作

我试图写一个 继承自
Microsoft.SharePoint.Publishing.TemplatedDirectionPage
, 然后将页面更改为继承 从我的班级。页面的行为 正常情况下(即,它像以前一样工作), 但是我的代码中的方法 上课不要被叫

有人知道我应该做什么吗


但在这一点上,我很确定它不会起作用。我目前的方向是尝试在发布页面上放置一个自定义服务器控件,但我似乎也无法实现这一点。是不是只有通过版面(这里不是选项)才能自定义发布页面?

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

为了解决你的问题,你可以

  • 自定义页面布局(继承Publishing Page Layout类并执行所需操作),但您说不需要它
  • 第二个可用选项是使用该功能创建一个Ghostable页面,并将其提供给站点(Ghostable页面和Ghostable InLibrary页面之间存在差异)。这将如何解决您的问题,是您可以编写任何自定义代码/从您想要的任何类继承,并使用一个特性来配置它。其中一个示例是查看文件“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行号

  • 发布页面本质上是由最终用户填充的页面布局(模板)。它的逻辑完全来自添加到页面布局中的控件。我没有听说过从发布页面类继承,因为这是不必要的——修改页面布局是实现这一点的方法

    如果你不能修改页面布局,这对你没有什么帮助(有什么原因吗?)。我不确定您试图向页面添加什么功能,但以下是一些想法:

    • 创建包含具有所需功能的自定义控件的新页面布局,并基于该布局创建发布页面
    • 如果页面布局中已经使用了自定义控件,请修改它们以提供所需的功能
    • 调查一下,看看他们是否适合你

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

    一切都很好,我不必做任何反常的事