2012-12-13 624 views
0

我想添加到MvcSiteMap鏈接到外部網站,但鏈接不會由菜單幫助器呈現。Asp.net MVC網站地圖鏈接到外部網站

<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> 

我在想什麼?

+0

你是什麼意思的控制器,行動和網址的#號?這些不能解決現有的控制器 – Xharze

+0

是的,我知道,但我沒有一個真正的控制器,所有這些節點都鏈接到外部網站,我希望這個提供者支持這樣的鏈接對嗎? – StringBuilder

回答

3

4.0版本現在支持外部URL,據我所知,這也適用於3.x版本。

<mvcSiteMapNode title="Home" controller="Home" action="Index"> 
    <mvcSiteMapNode title="Somewhere" url="http://www.somewhere.com/"/> 
</mvcSiteMapNode> 
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屬性。