ここで説明されているものと同様の質問があります:
WebFormsを使用したASP.NETURLルーティング-SiteMapの使用
私のASP.NetWebFormsWebアプリケーションには、次のようなサイトマップがあります。
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Root">
<siteMapNode url="Home" title="Home" />
<siteMapNode url="Home?" title="Home" />
<siteMapNode url="Faq" title="FAQ" />
</siteMapNode>
<siteMapNode url="Reports" title="Your reports" />
<siteMapNode url="Reports?" title="Your reports" />
<siteMapNode url="ExtraReports" title="Extra reports" />
</siteMapNode>
<siteMapNode url="Presentations" title="Your presentations" />
<siteMapNode url="Presentations?" title="Your presentations" />
<siteMapNode url="ExtraPresentations" title="Extra presentations" />
</siteMapNode>
</siteMapNode>
次の形式のURLが必要です
::// host / projects / {company} / {projectno} / Home
:// host / projects / microsoft / 10 / Home
:// host / projects / microsoft / 11 /レポート
:// host / projects / apple / 10 / ExtraReports
URLルーティングは/projects/ {company} / {projectno}/{pagename}を/Pages/{pagename}.aspxにルーティングします。
私のナビゲーションは、上部にホーム、レポート、プレゼンテーションを含むTabStripと、左側にサブアイテムを含むメニューで構成されています(たとえば、[ホーム]を選択すると、[ホーム]、[よくある質問]になります)。
私の質問:
重複したSiteMapNodeURLを処理する適切な方法は何ですか?
TabStripが:// host / Homeや:// host / ExtraReportsのようなURLを生成しないようにするにはどうすればよいですか?
現在の会社とprojectnoの選択を維持する必要があり、サイトマップは相対URLを無視しますTabStripおよびMenuコントロールは、アクティブな選択を表示するために、選択されたアイテムを認識する必要があります。これらすべてに対する適切な解決策は何ですか?