2011-01-03 12 views
0

こんにちは アドバイスできますか? 私は、SiteMapPathコントロールを持っているし、代わりに「ユーザーアカウント」を参照SiteMapPath:チェーン内の最後のリンクのタイトルとリンクを変更してください

Home > Accounts > User Account 

のようなデフォルトの機能の〜/ UserAccount.aspx

私は、現在のユーザーに関する情報を表示するために最後のノードを上書きしたいと思いますすなわち、:

Home > Accounts > John White 

「John White」は〜/ UserAccount.aspx?id = 111ですか?

+0

どのプロバイダを使用していますか? –

+0

標準xmlSiteMapProvider。おそらく私はそれを継承し、拡張された.sitemap構文をサポートするいくつかの機能を追加するべきでしょう。 – dominique

+0

リンクをたどる: http://stackoverflow.com/questions/3757742/dynamically-built-sitemappath-in-asp-net –

答えて

0

ええ、XmlSiteMapProviderから継承し、そのBuildSiteMapメソッドをオーバーライドする必要があります。ここでは、実行時に必要な任意のノードを操作できます。ノードは、SiteMapPathコントロールに表示されます。

public class MySiteMapProvider : XmlSiteMapProvider 
{ 
    ... 

    public override SiteMapNode BuildSiteMap() 
    { 
    var node = base.BuildSiteMap(); 
    var userAccountsNode = this.FindUserAccountsNode(node); 

    userAccountsNode.ReadOnly = false; 
    userAccountsNode.Title = ...; 
    userAccountsNode.Url = ...; 
    userAccountsNode.ReadOnly = true; 

    return node; 
    } 
} 
関連する問題