在我正在使用的SiteMap控件中,我想让2个或更多的节点指向同一页面。多个SiteMap节点具有查询字符串参数相同的URL
<siteMapNode url="~/Default.aspx" title="Home" description="Home page">
<siteMapNode url="~/SectionList.aspx" title="By section" description="List of sections">
<siteMapNode url="~/BrowsePublications.aspx" title="publications of section" description="Publications of section"/>
</siteMapNode>
<siteMapNode url="~/Officers.aspx" title="By responsible officer" description="List of officers">
<siteMapNode url="~/BrowsePublications.aspx" title="publications of officer" description="Publications of officer"/>
</siteMapNode>
</siteMapNode>
我基本上有一个网格显示,这个网格可以用很多方式过滤。每个过滤器都是一个页面,用户点击某个条目并被重定向到显示网格的页面,其中包含与该条目相关的数据。我正在使用查询字符串参数来实现。 我在线阅读,要克服这种限制的一种方法是添加虚拟参数或“#”到重复节点的网址的末尾,所以我试图用这个
<siteMapNode url="~/Default.aspx" title="Home" description="Home page">
<siteMapNode url="~/SectionList.aspx" title="By section" description="List of sections">
<siteMapNode url="~/BrowsePublications.aspx?view=2" title="Publication view 1" description="Publication view"/>
</siteMapNode>
<siteMapNode url="~/Officers.aspx" title="By responsible officer" description="List of officers">
<siteMapNode url="~/BrowsePublications.aspx?view=3" title="Publication view" description="Publication view"/>
</siteMapNode>
</siteMapNode>
,并使用哈希,但由于我重定向到BrowsePublications.aspx与查询parametrs,(我的网址是一样的东西
BrowsePublications.aspx?鉴于= 2 & C = 24
asp.net不承认它,IG当我尝试访问来自BrowsePublications.aspx的SiteMap.CurrentNode时发生异常。 实现此目的的最简单方法是什么? 谢谢
什么是异常和代码中的哪个位置得到它? – nmat 2013-05-08 17:44:52
的例外是 “对象引用未设置为对象的实例” 我得到它时,我尝试访问SiteMap.CurrentNode内BrowsePublications.aspx.cs 如果我删除这一点,我没有例外,但我的网站地图控制doesn 't render anything – kfc 2013-05-08 17:47:46
see this:http://stackoverflow.com/questions/3113765/sitemap-navigation-and-query-string – nmat 2013-05-08 18:00:06