0

私は調査を行いましたが、私の質問に対する有益で建設的な情報は見つかりませんでした。そのため、私の質問は、自分の方法でコントロールを拡張してレンダリングしたいコントロールに関するものです。SharePoint を使用していますが、SharePoint aspnet コントロールは封印されているため、派生できません。

私が持っているのは、System.Web.UI.WebControls.Menu または Microsoft.SharePoint.WebControls.AspMenu から派生したメニュー コントロールです。大きな違いはありません。そして、データソース/データプロバイダーがあります。

SiteMapDataSource dataSource = this.GetDataSource() as SiteMapDataSource;
SiteMapProvider provider = dataSource.Provider;

だから私はすべての必要な要素を持っています。

現在、基本クラスには、オーバーライドできるさまざまなメソッドが多数ありますが、どのように開始すればよいかわかりません。

レンダリングするコントロールをどこでどのように作成すればよいですか? これらのコントロールをどこに表示しますか? 彼らが存在するHTMLのコントロールは?

<ul>
 <li> </li>
 ...
</ul>

プロバイダーに基づいてメニューを作成するにはどうすればよいですか?

全体像を把握するためのちょっとした更新: これを行うのは、最初のコントロールをリンクやテキストとしてではなく、提供された URL に画像が設定された画像リンクとしてレンダリングする必要があるためです。

4

1 に答える 1

1

こんにちは、メニューで拡張メソッドを使用できます

public static void YourExtension(this Menu control)
{
     control.YourPropertyTarget = ....;
}
于 2012-07-30T17:01:48.997 に答える