ASP.NET MVC 5 入门教程 (3) 路由route
2014-12-01 22:02
344 查看
文章来源: Slark.NET-博客园 /article/5273349.html
上一节:ASP.NET MVC 5 入门教程 (2) 控制器Controller
下一节:ASP.NET MVC 5 入门教程 (4) View和ViewBag
源码下载:点我下载
上一节我们讲了如何创建一个控制器,本节我们来讨论如何通过路由来访问控制器及其Action。
那么问题来了,怎么写url能访问到我想要访问的控制器呢?
要想正确访问路由器,就得知道路由规则。它被写在解决方案的App_Start文件夹下的RoutConfig.cs文件中。顾名思义,这是路由配置文件。代码如下。
代码中标记出的两行就是路由规则的关键所在。
第一行的意思是通过 “http://主机名:端口号/控制器名/Action名/参数id” 可以调用这个控制器的Action并且这个Action带有参数id。
我们先来创建一个这样的控制器。
打开解决方案下的Controllers文件夹下的FirstController.cs文件。写入如下代码。
代码中标记的部分就是我们想要访问的Action。
按F5启动程序。
我们要访问的是First控制器下的Index Action并且参数是id。
代入公式:“http://主机名:端口号/控制器名/Action名/参数id”
得 http://localhost:57231/first/index/2
结果如下:
Ok。
下面来看RoutConfig.cs文件标记出的第二行。如下:
第二行的意思是如果不写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都设成默认就行啦。
运行结果如下。id没给,所以是null,这里就没有Id:
下一步我们就可以着手创建View啦。
下一节:ASP.NET MVC 5 入门教程 (4) View和ViewBag
上一节: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
相关文章推荐
- ASP.NET MVC 5 入门教程 (3) 路由route
- ASP.NET MVC 入门系列教程
- ASP.NET MVC 入门系列教程
- ASP.NET MVC 5 学习教程:快速入门
- ASP.NET MVC 入门系列教程
- Easyui入门视频教程 第02集--- ASP.NET MVC下 搭建 EasyUI环境
- 《ASP.NET MVC 入门系列教程》索引贴
- Asp.net Mvc 入门视频教程
- ASP.NET MVC 5 学习教程:快速入门
- 【译】ASP.NET MVC 5 教程 - 1:入门
- Asp.net mvc 3.0 入门教程之四————模型 Model
- ASP.NET MVC 入门系列教程
- 《ASP.NET MVC 入门系列教程》索引贴(转)
- ASP.NET MVC 入门系列教程
- ASP.NET MVC 入门系列教程
- ASP.NET MVC 入门系列教程【转载】
- ASP.NET MVC入门视频教程
- 【转载】Asp.net Mvc 入门视频教程
- Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门
- Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门