2012-05-14 183 views
3

为了构建我的网站,我选择使用Visual Studio 2010环境。 因此,我有工厂,网上冲浪者可以从两种不同的方式去那里。 一种方法是从地图上选择地理名称,这会将他驱动到目录树中某个地方的aspx文件中。 第二种方法是从产品页面查找工厂。 在第二种方式中,我使用我的代码中的“站点地图”和我的web.config文件中的相应条目;具有相同URL的多个节点

<siteMap defaultProvider="XmlSiteMapProvider" enabled="true"> 
     <providers> 
      <add name="XmlSiteMapProvider" description="Default SiteMap provider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap" securityTrimmingEnabled="true"/> 
      <add name="ProductsSiteMapProvider" description="Products SiteMap provider" type="System.Web.XmlSiteMapProvider" siteMapFile="Products.sitemap" securityTrimmingEnabled="true"/> 
     </providers> 

在我的products.sitemap中我正在写下列条目;

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > 
<siteMapNode url="~/pages/products.aspx" title="Products" description="Greek Olive Products"> 
    <siteMapNode url="~/pages/products/oevoo/oevoo.aspx" title="Organic Extra Virgin Olive Oil" description="Find the Cultivation areas for this commodity" > 
     <siteMapNode url="~/pages/products/oevoo/agioideka.aspx" title="Flathiakes" description="Cultivation Area Flathiakes, Herakleion Crete" /> 
     <siteMapNode url="~/pages/products/oevoo/handrinos.aspx" title="Handrinos" description="Cultivation Area Handrinos, village mountainous Messinia south-west Peloponnese " /> 
</siteMapNode> 
    <siteMapNode url="~/pages/products/evoo/evoo.aspx" title="Extra Virgin Olive Oil" description="Find the Cultivation areas for this commodity" > 
     <siteMapNode url="~/pages/districts/areas/agioideka.aspx" title="Flathiakes" description="Cultivation Area Flathiakes, Herakleion Crete" /> 
     <siteMapNode url="~/pages/districts/areas/acova.aspx" title="Acova" description="Standardization factory in Argolida east Peloponnese" /> 
     <siteMapNode url="~/pages/districts/areas/trikorfo.aspx" title="Trikorfo" description="Cultivation Area Trikorfo, mountainous area in south Peloponnese" /> 
     <siteMapNode url="~/pages/districts/areas/handrinos.aspx" title="Handrinos" description="Cultivation Area Handrinos, village mountainous Messinia south-west Peloponnese " /> 
    </siteMapNode> 
    <siteMapNode url="~/pages/products/voo/voo.aspx" title="Virgin Olive Oil" description="Find the Cultivation areas for this commodity" > 
    <siteMapNode url="~/pages/districts/areas/acova.aspx" title="Acova" description="Standardization factory in Argolida east Peloponnese" /> 
    <siteMapNode url="~/pages/districts/areas/trikorfo.aspx" title="Trikorfo" description="Cultivation Area Trikorfo, mountainous Messinia south Peloponnese" /> 
    </siteMapNode> 
    <siteMapNode url="~/pages/products/to/to.aspx" title="Greek Table Olives" description="Find the Cultivation areas for this commodity" > 
     <siteMapNode url="~/pages/districts/areas/trikorfo.aspx" title="Trikorfo" description="Cultivation Area Trikorfo, mountainous Messinia south Peloponnese" /> 

    </siteMapNode> 
</siteMapNode> 

最后,当我试图运行(本地)我的网站它给了我下面的错误;发现

用相同的URL '/WebSite2/pages/districts/areas/acova.aspx' 多个节点。 XmlSiteMapProvider要求站点地图节点具有唯一的URL。

当然,我看到网站地图提供程序不接受多个网址导致相同的位置。 我的问题是我能做些什么来在我的products.sitemap中使用多个条目?

+0

可能重复你能必须要2个url指向asp:Menu控件中的相同页面?](http://stackoverflow.com/questions/458287/can-you-have-to-2-urls-that-point-the-the - 同一页的aspmenu控制) – Matt

回答

16

当然可以,Microsoft建议作出一些修正的URL如添加#或提供参数:

~/pages/districts/areas/acova.aspx 
~/pages/districts/areas/acova.aspx# 
~/pages/districts/areas/acova.aspx?id=1 

都是不同的URL,但在同一页

的[
+0

我尝试了通过把不同的虚拟查询字符串,但没有为我工作 –

相关问题