我有幾個控制器, 一個讓的說電腦控制器 它擁有筆記本電腦的作用,桌面小工具 我想有網頁名稱:www.MyDomain /筆記本電腦(等) 和一說讓電子控制器 它有動作電視,DVD,(等等) 我想有網頁名稱:www.MyDomain /電視(等等) 沒有指定控制器? 我不明白髮生了什麼我的問題之前,我不能編輯 (希望管理員將其刪除)選擇,而無需控制器名稱
2
A
回答
4
你可以通過指定路由約束做到這一點:
routes.MapRoute(
"Computers",
"{name}",
new { controller = "Computers", action = "Index", name = UrlParameter.Optional },
new { page = "laptop|desktop" }
);
routes.MapRoute(
"Gadgets",
"{name}",
new { controller = "Electronic", action = "Index", name = UrlParameter.Optional },
new { page = "tv|dvd" }
);
現在/laptop
和/桌面將被路由到ComputersController
的Index
動作,並且/tv
和/dvd
將被路由到GadgetsController
的Index
動作。
0
在你的Global.asax.cs:
routes.MapRoute(
"ViewLaptop", // Route name
"/laptop", // URL with parameters
new { controller = "Computers", action = "Laptop" } // Parameter defaults
);
這應該這樣做。
+0
嗨,謝謝,我想像你爲每一個頁面所建議的那樣寫潰敗嗎? routes.MapRoute( 「ViewLaptop」,// Route name 「/ laptop」,// URL with parameters new {controller =「Computers」,action =「Laptop」} //參數默認值 ); ? – Danny 2011-05-24 13:23:37
+0
這樣你可以檢查@Darin的回答,他已經把它放在一個更加可變的方式,所以你有一個動作,但有一個'page'變量來決定你想瀏覽的類型。 – 2011-05-24 14:55:14
相關問題
- 1. 選擇相關的行而無需比較街道名稱
- 2. 只選擇1「控制數量」,而無需使用不同
- 3. 從名稱選擇器配售結果爲只讀控制
- 4. 控制器名稱的型號名稱
- 5. 選擇控制器
- 6. Asp.net猜控制器名稱
- 7. 獲取文件名,而不是控制器的名稱
- 8. 名稱空間控制器無需命名空間路由幫助程序
- 9. 選擇按名稱或ID,而不是
- 10. 「選擇」標記選項不起作用時,選擇已形式控制名稱
- 11. 無法識別的選擇器,即使選擇器名稱正確
- 12. 所選控制器和選定功能名稱的SSL [CodeIgniter]
- 13. 使用Watir,我如何使用名稱和值來選擇無線電控制?
- 14. 如何在選擇多個表格時控制表格名稱?
- 15. jQuery選擇名稱
- 16. 用戶控制靜態名稱選項?
- 17. MVC 5 - 控制器無法看到我需要的名稱空間
- 18. c#控制名稱
- 19. 隱藏笨控制器名稱與多個控制器
- 20. 如何在笨得到控制器名稱到控制器
- 21. 如何使用Unicode字符作爲變量名稱而無需額外的變體選擇器字形?
- 22. 根據在codeigniter中選擇的控制器名稱顯示所有方法的名稱
- 23. 不張貼選擇選項控制器
- 24. 如何選擇mongodb服務器名稱?
- 25. CSS選擇器名稱改變?
- 26. 未確認選擇器名稱
- 27. 根據機器名稱選擇設置
- 28. 類名稱的CSS屬性選擇器
- 29. Laravel:將複選框的值發送給控制器而無需發佈?
- 30. 版本控制;選擇,選擇,選擇!
您的上一個問題必須在另一個帳戶下被詢問。如果您提供鏈接,我可以合併帳戶。 – SLaks 2011-05-24 13:04:32
@SLaks,我想這是這一個:http://stackoverflow.com/questions/6110380/routing-without-naming-controller/6110482 – 2011-05-24 13:08:03
您的帳戶已合併。您現在可以編輯或刪除您之前的問題。 – SLaks 2011-05-24 13:12:47