質問

私はいくつかの説明のためにGoogleを検索しましたが、私は探している答えが見つかりませんでした。

カスタム機能を実行するデリゲートを展開したい。そのため、Delegateがコードでクラスを発送したいのですが、次のようになりました。

Classeを追加しました:

public class SomeClassForDelegate: WebControl
{
    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
        writer.WriteLine("<p>Write some text</p>");
        base.Render(writer);
    }
}
.

基本的にこのクラスはテキストだけを書きます。私のクラスゼが使用されているかどうか、通常は合計の異なる機能を追加するのであれば、それが私がそれをテストする理由です。

その後、element.xmlに代理宣言をしています:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Control Id="AdditionalPageHead" ControlAssembly="$SharePoint.Project.AssemblyFullName$" ControlClass="mysolution.SomeClassForDelegate"  Sequence="90" />
</Elements>
.

機能で展開します。

すべてがよくなり、最後に私は結果を見ません。

私は何をしていますか?

アップデート:解決済み

問題は、WebControlが安全なコントロールとして入らなかったことでした。そのため、Element.xmlでは、フォルダ全体を安全な場所として追加しました。そしてそれは働いていました。

入力、特にDribbel!

役に立ちましたか?

解決

次の点検してください。

  • ULS-Logsに警告はありますか?
  • sequenceは正しく設定されていますか?
  • ブレークポイントのヘルプを追加しています(コードが実際にロードされているかどうかがチェックされます)
  • コントロールが http://blog.mastykarz.nl/checking-which-delegate-controls-activated-site/
  • セーフとして登録されているコントロールは(展開後にweb.configをチェックインしてください)?安全なコントロールでは、ULSログにエラーが発生します。
ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top