2

ブレッドクラムにSiteMapPathを使用しています。現在、現在のページにたどり着いたパスが表示されますが、「You are here:Level1>Level2>Level3」というメッセージが表示されます。SiteMapPathは私のMasterPage内に配置されます。.sitemapファイルに表示されないページがあるため、ブレッドクラムは表示されなくなりますが、「You arehere:」というメッセージは表示されません。.sitemapファイル内にURLが存在するかどうかを確認する方法はありますか?URLが存在しない場合、「You arehere」メッセージを非表示にしますか?ありがとう。

編集 私は自分のコードを機能させることができました。以下はコードです:

protected void Page_Load(object sender, EventArgs e)
{
    if (SiteMap.Providers["MYSITEMAPPROVIDER"].CurrentNode == null)
    {
        lblMessage.Visible = false;
    }
}
4

1 に答える 1

2

簡単です。これを使ってみましたか。

    protected void Page_Load(object sender, EventArgs e)
    {
        if (SiteMap.CurrentNode == null)
        {
            this.lblMessage.Visible = false;
        }
    }

SiteMapには静的プロパティが含まれていますCurrentNode

私はすでにテストしました、そしてあなたはマスターページ、ユーザーコントロールまたはページでこのアプローチを使うことができます

于 2012-06-26T21:26:05.060 に答える