我已經找了一段時間,解決方案看起來像他們應該工作,似乎我做錯了。MVC路由問題,區域和HTML動作鏈接
我創建了一個區域用於管理CMS方所謂的「管理」,所以如果你去:
/管理/ Vinyard
它會給你vinyards列表使用帶有內置VinyardController管理CRUD腳手架。
在「前端」我有一個瀏覽控制器和另一個VinyardController查看vinyard的細節。
所以有人去
/瀏覽/ Vinyard
這讓他們Vinyards的名單,他們點擊一個(這裏的問題),我想它去
/Vinyard/NameOfVinyard
,我有這條路線是:
routes.MapRoute(
"Vinyard",
"Vinyard/{Name}",
new { controller = "VinyardController", action = "Details", area="root"}
);
哪個在默認路線上方。詳細信息是顯示Vinyard詳細信息的方法。
我使用的是HTML.actionlink:
@Html.ActionLink(item.Name, "Details", "vinyard" ,new { name = item.VinyardId, area="root" })
出於某種原因,所返回的標籤是:?/瀏覽/詳細信息長度= 7
最重要的是,當我嘗試瀏覽到/ vinyard/1它給了我一個404.
感謝您的幫助!
更新:如果我瀏覽到/ vinyard/details/1,它可以正常工作,但我希望它避開/ details/part。
這給了我只是/瀏覽/我的所有條目。出於某種原因,它不區分除鏈接名稱之外的其他項目。 – Snowburnt 2012-07-27 17:08:28