Asp.net mvc站点地图链接到外部站点

时间:2012-12-13 10:02:37

标签: asp.net-mvc asp.net-mvc-4 mvcsitemapprovider

我正在尝试将MvcSiteMap链接添加到外部网站,但Menu Helper不会呈现链接。

 <mvcSiteMapNode title="SIte1" controller="#" Action="#" Url="#" ">
    <mvcSiteMapNode title="SIte1"    Url="/Site1"/>
    <mvcSiteMapNode title="SIte2"   Url="/Site2" />
    <mvcSiteMapNode title="SIte3"   Url="/Site3" />
    <mvcSiteMapNode title="SIte1_CH"   Url="/Site1_CH" />
    <mvcSiteMapNode title="Logout"   Url="/RedirectToLogin.aspx" />
  </mvcSiteMapNode>

我想念的是什么?

2 个答案:

答案 0 :(得分:3)

版本4.0现在支持外部URL,据我所知,这也适用于版本3.x.

<mvcSiteMapNode title="Home" controller="Home" action="Index">
  <mvcSiteMapNode title="Somewhere" url="http://www.somewhere.com/"/>
</mvcSiteMapNode>

答案 1 :(得分:1)

根节点必须可以解析为控制器和动作,否则菜单永远不会显示,在根节点上设置Url =“#”也没有意义,因为这是从你自己生成路由到控制器和行动。

<mvcSiteMapNode title="SIte1" controller="Home" Action="Index">
  <mvcSiteMapNode title="SIte1"    Url="/Site1"/>
  <mvcSiteMapNode title="SIte2"   Url="/Site2" />
  <mvcSiteMapNode title="SIte3"   Url="/Site3" />
  <mvcSiteMapNode title="SIte1_CH"   Url="/Site1_CH" />
  <mvcSiteMapNode title="Logout"   Url="/RedirectToLogin.aspx" />
</mvcSiteMapNode>

在子节点上,您应该能够使用URL属性。