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

公開ページは、基本的に、エンドユーザーが入力したページレイアウト(テンプレート)です。そのロジックは、ページレイアウトに追加されたコントロールから純粋に得られます。公開ページクラスから継承する必要はないので、聞いたことがありません。ページレイアウトを変更するのがその方法です。

ページレイアウトを変更できない場合、これは実際には役に立ちません(理由はありますか?)。ページに追加しようとしている機能はわかりませんが、いくつかのアイデアがあります。

  • 必要な機能を備えたカスタムコントロールを含む新しいページレイアウトを作成し、それに基づいて公開ページを作成します。
  • ページレイアウトでカスタムコントロールをすでに使用している場合は、それらを変更して、必要な機能を提供します。
  • デリゲートコントロールを調査し、それらが機能するかどうかを確認します。
于 2009-06-20T10:26:17.570 に答える
0

さて、これがその仕組みです。Microsoft.SharePoint.Publishing.TemplatedRedirectionPageこのクラスは、サイトテンプレートフォルダー内のファイルから取得したと思います。これらのページは一種のプレースホルダーです。サイトで作成される実際のページは、TemplatedRedirectionpageに基づいていませんが、サイトに存在するページレイアウトのインスタンスです。

あなたの問題を解決するためにあなたは取ることができます

  1. ページレイアウトをカスタマイズする(発行ページレイアウトクラスを継承し、必要な処理を実行します)しかし、あなたはそれを望まないと言いました。
  2. 2番目に利用可能なオプションは、Featureを使用してGhostableページを作成し、それらをサイトにプロビジョニングすることです(GhostablePagesとGhostableInLibraryPagesには違いがあります)。これが問題をどのように解決するかは、任意のカスタムコードを記述し、任意のクラスから継承し、機能を使用してプロビジョニングできることです。この一例は、ファイル'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 に答える