ASP.NET MVC 5 入门教程 (3) 路由route
文章來源: Slark.NET-博客園 http://www.cnblogs.com/slark/p/mvc-5-get-started-route.html
上一節:ASP.NET MVC 5 入門教程 (2) 控制器Controller
下一節:ASP.NET MVC 5 入門教程 (4) View和ViewBag
源碼下載:點我下載
上一節我們講了如何創建一個控制器,本節我們來討論如何通過路由來訪問控制器及其Action。
那么問題來了,怎么寫url能訪問到我想要訪問的控制器呢?
要想正確訪問路由器,就得知道路由規則。它被寫在解決方案的App_Start文件夾下的RoutConfig.cs文件中。顧名思義,這是路由配置文件。代碼如下。
using System.Web.Mvc; using System.Web.Routing;namespace SlarkInc {public class RouteConfig{public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });}} }代碼中標記出的兩行就是路由規則的關鍵所在。
第一行的意思是通過 “http://主機名:端口號/控制器名/Action名/參數id” 可以調用這個控制器的Action并且這個Action帶有參數id。
我們先來創建一個這樣的控制器。
打開解決方案下的Controllers文件夾下的FirstController.cs文件。寫入如下代碼。
using System.Web.Mvc;namespace SlarkInc.Controllers {public class FirstController : Controller{public string Index(string id){return "This is first controller index page.<br/> Your Id is " + id;}public string Another(){return "This is first controller another page";}} }代碼中標記的部分就是我們想要訪問的Action。
按F5啟動程序。
我們要訪問的是First控制器下的Index Action并且參數是id。
代入公式:“http://主機名:端口號/控制器名/Action名/參數id”
得?http://localhost:57231/first/index/2
結果如下:
Ok。
下面來看RoutConfig.cs文件標記出的第二行。如下:
url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }第二行的意思是如果不寫controller那么controller就默認是Home。確定controller之后如果不寫action則action就默認是Index。id = UrlParameter.Optional表示id可以有也可以沒有。比如調用First控制器的Index Action時就有參數,此時寫上id。如果調用First控制器的Another Action,沒有參數就不寫。
那么url就是這樣:?http://localhost:57231/first/another
運行結果如下:
現在我想讓程序一啟動就顯示FirstController的Index Action,這樣測試起來方便。怎么辦?
把FirstController 和Index Action都設成默認就行啦。
url: "{controller}/{action}/{id}", defaults: new { controller = "First", action = "Index", id = UrlParameter.Optional }運行結果如下。id沒給,所以是null,這里就沒有Id:
下一步我們就可以著手創建View啦。
下一節:ASP.NET MVC 5 入門教程 (4) View和ViewBag
轉載于:https://www.cnblogs.com/slark/p/mvc-5-get-started-route.html
總結
以上是生活随笔為你收集整理的ASP.NET MVC 5 入门教程 (3) 路由route的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Windows和Mac系统上常用的MyS
 - 下一篇: mysql linux文件_MySQL在