2010-02-22 140 views
0

當您在Visual Studio中創建ASP.NET MVC 2 Web應用程序時,它會爲您提供默認的MVC站點。它顯示2個菜單[主頁]和[關於]。當你將鼠標懸停這些菜單它給你這個網址:ASP.NET MVC站點菜單

  • [首頁]本地主機:1234/
  • [簡介]本地主機:1234 /首頁/

爲什麼關於主頁下?

我想菜單鏈接像

  • [首頁]本地主機:1234/
  • [簡介]本地主機:1234 /關於

我怎樣才能做到這一點?

回答

0

關於在Home下,因爲它是HomeController下的一個操作。

如果您想訪問about/About,請在您的Global.asax中設置新路由。例如:

routes.MapRoute("About", "About", new { controller = "Home", action = "About" } 
0

你有Home控制器上定義了兩個動作:IndexAbout。索引操作被定義爲該站點的默認操作。爲此,http://localhost:1234解析爲http://localhost:1234/Home/Index。您可以設置一個新的途徑來實現:

routes.MapRoute(
    "About", 
    "About", 
    new { controller = "Home", action = "About", id = UrlParameter.Optional } 
); 
1

你有幾個選擇這裏,你既可以單獨地圖路線爲達林和Alexn都出現了,或者你可以做這樣的事情:

routes.MapRoute("Home", "{action}/{id}", new { controller = "Home", action = "index", id = "" }); 

看看路徑中沒有定義控制器嗎?這應該意味着你可以只說/About/SomeOtherAction。這裏的限制是它會匹配很多路線,並且他們都會去到家庭控制器,除非您在上面添加更多特定的路線。

0

在任何文件夾下放置都是個人選擇的問題。

如果你想看到的有關文件在不同的文件夾結構,在我看來,這樣做將是

1)中的觀點被稱爲關於創建一個新的文件夾的簡潔的方式。 2)將About.html文件移動到這個文件夾中 3)在Controllers文件夾下創建一個名爲AboutController.cs的新文件 4)找到標籤返回View();在上面創建的文件中,並用返回視圖(「關於」)替換它;

如果您想要在About部分下添加更多文件(例如:about-autor.html,about-fundinghouse.html),您可以繼續將其添加到about文件夾中並在控制器中進行必要的更改以返回相應的觀點。

+0

這樣我就需要按照這個步驟每次我會創建一個新菜單? – coure2011 2010-02-22 09:47:52