MVC SiteMap提供程序当前节点未设置

时间:2011-06-28 06:18:20

标签: mvcsitemapprovider

我正在使用mvc3站点地图提供程序在我的项目中显示站点地图和breadcrumps。我的情况如下

我将使用静态站点地图,如下所示

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0" enableLocalization="true">
  <mvcSiteMapNode title="Root" controller="Home" action="Index" id="0" refresh="always" visibility="InSiteMapOnly">
    <mvcSiteMapNode title="Home" controller="Home" action="Index" id="1" key="Home"/>
    <mvcSiteMapNode title="News and Events" controller="Home" action="About" id="2"/>
    <mvcSiteMapNode title="Documents" controller="Home" action="About" id="3"/>
    <mvcSiteMapNode title="Help" controller="Home" action="About" id="4"/>
    <mvcSiteMapNode title="View Data" controller="Home" action="About" id="5"/>
    <mvcSiteMapNode title="My Data" controller="Foo" action="Index" id="6" roles="Role1" key="MyData">
      <mvcSiteMapNode title="1" controller="Part" action="Index" class="myRSRNav_contact" />
      <mvcSiteMapNode title="2" controller="Part" action="Details" />
      <mvcSiteMapNode title="3" controller="Part" action="Details"  MakeVisible="Index"/>
      <mvcSiteMapNode title="4" controller="Part" action="Details" class="myRSRNav_partsList" />
      <mvcSiteMapNode title="5" controller="Part" action="Details" class="myRSRNav_import" roles="role1,role2" />
    </mvcSiteMapNode>
    <mvcSiteMapNode title="Messages" controller="Home" action="About" id="6"  roles="RP"/>
    <mvcSiteMapNode title="Reporting" controller="Home" action="About" id="7"  roles="RP"/>
    <mvcSiteMapNode title="Site map" controller="Home" action="Sitemap" id="8"/>
  </mvcSiteMapNode>
</mvcSiteMap>

当我登录应用程序时,我希望自动选择mydata选项卡,因为我将路由到相应的控制器和操作。

现在它没有发生,但是我点击它显示的mydata标签。任何想法

提前致谢。

谢谢, Ajai

1 个答案:

答案 0 :(得分:0)

您在登录时是重定向到/ Foo / Index还是/ Foo / Index / 6?我想站点地图节点中的id参数阻止你按预期工作。