在我有限的(2周)在asp.net MVC3中的經驗中,對於大多數操作方法,我從不需要添加路由註冊。但我注意到,如果action方法有一個輸入參數,那麼我不能訪問該方法的形式爲www.mysite.com/myController/myAction/myParameter1/myParameter2/myParameter3(不帶?標記)的url,除非我映射路線。這是它應該如何?在asp.net MVC中,如果url有一個參數,路由是否需要註冊?
0
A
回答
2
默認情況下,你已經登記路徑:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
它接受一個參數,名爲id,那麼你的行動:
public ActionResult MyAction(string id)
會 「抓」 的要求:
www.mysite.com/MyController/MyAction/parameter_value
和id
將得到值「parameter_value」。
如果您需要多個參數(或者參數必須是除id之外的其他名稱),那麼您必須註冊新的路由。
像這樣的情況下,當你有2個參數,你會註冊路線:
routes.MapRoute(
"Default",
"{controller}/{action}/{parameter1}/{parameter2}",
new { controller = "Home", action = "Index", parameter1 = UrlParameter.Optional, parameter2=UrlParameter.Optional }
);
和你的行動可能是:
public ActionResult MyAction(string parameter1, int? parameter2)
1
是的,你需要註冊自定義路線的路線在global.asax
根據您的要求。您必須按以下方式註冊路線:
routes.MapRoute(
"routeName", // Route name
"{controller}/{action}/{myParameter}", // URL with parameters
new { controller = "Home", action = "Index", myParameter= "" } // Parameter defaults
);
因此,通過上述路徑,它可以確保只要您的網址以上述格式顯示,參數"action/"
之後的參數將被視爲參數.....
對於您網址中的多個參數,您可以註冊爲這個:
routes.MapRoute(
"routeName", // Route name
"{controller}/{action}/{myParameter1}/{myParameter2}/{myParameter3}", // URL with parameters
new { controller = "Home", action = "Index", myParameter1= "", myParameter2= "", myParameter3= "" } // Parameter defaults
);
相關問題
- 1. ASP.NET MVC:參數URL路由
- 2. 是否需要MVC路由?
- 3. 帶有一個必需參數和一個可選參數的ASP.NET MVC路由?
- 4. ASP.NET MVC無限URL參數路由
- 5. ASP.NET MVC - URL路由參數問題
- 6. 需要一些ASP.NET MVC路由幫助
- 7. ASP.NET MVC AcceptVerbs和註冊路由
- 8. 在asp.net mvc是否有可能註冊路線除了application.Start()
- 9. MVC ASP.NET路由是有自定義URL
- 10. MVC:如何在URL中管理slahses第一個路由參數
- 11. 在.NET中,是否需要註冊DLL?
- 12. 是否有可能在asp.net mvc中使用maproute路由多個參數
- 13. asp.net mvc路由中的兩個參數
- 14. 路由在ASP.NET MVC多個參數3
- 15. Asp.net MVC URL路由:當參數有問題時更改URL
- 16. ASP.NET MVC URL路由
- 17. ASP.NET MVC Url路由
- 18. Asp.net MVC/Web Api路由:需要路由有點不同
- 19. 在MVC中註冊默認路由
- 20. ASP.NET MVC路由中的參數名稱是否需要匹配其相應操作中的參數名稱?
- 21. ASP.NET MVC路由:URL中的多個參數
- 22. 如何檢查URL是否只包含一個路由參數?
- 23. Asp.net MVC路由總是以參數
- 24. 是否有一個不需要註冊的php購物車?
- 25. 是否可以在ASP.NET MVC中本地化URL /路由?
- 26. 在Asp.net MVC中需要多個路線
- 27. 是否需要路由?
- 28. ASP.NET MVC如何正確地映射在一個參數的URL路由
- 29. 如何使用路由加密ASP.NET MVC中的URL參數
- 30. 如何從asp.net mvc中的當前路由獲取url參數?
修改了問題以包含多個參數。 – developer747 2012-08-06 00:33:24