ASP.NET MVC 5 入门教程 (3) 路由route

原文: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

时间: 2024-08-30 11:01:15

ASP.NET MVC 5 入门教程 (3) 路由route的相关文章

ASP.NET MVC 5 入门教程 (4) View和ViewBag

原文:ASP.NET MVC 5 入门教程 (4) View和ViewBag 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-view.html 上一节:ASP.NET MVC 5 入门教程 (3) 路由Route 下一节:ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework 源码下载:点我下载 View(视图)用来显示被controller处理好的数据.本节

ASP.NET MVC 5 入门教程 (2) 控制器Controller

原文:ASP.NET MVC 5 入门教程 (2) 控制器Controller 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-controller.html 上一节:ASP.NET MVC 5 入门教程 (1) 新建项目 下一节:ASP.NET MVC 5 入门教程 (3) 路由route 源码下载:点我下载 顾名思义,一个MVC项目是由M-Model-模型.V-View-视图.C-Controller-

ASP.NET MVC 5 入门教程 (1) 新建项目

原文:ASP.NET MVC 5 入门教程 (1) 新建项目 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-create-project.html  下一节:ASP.NET MVC 5 入门教程 (2) 控制器Controller 本教程使用Visual Studio Express 2013 for Web 运行,强烈建议跟着教程边看边做.如果在操作中遇到什么问题,欢迎留言指出. Visual Stud

ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework

原文:ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html  上一节:ASP.NET MVC 5 入门教程 (4) View和ViewBag 下一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 源码下载:点我下载 一.创建Model MVC中

ASP.NET MVC 5 学习教程:快速入门

原文 ASP.NET MVC 5 学习教程:快速入门 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Server LocalDB Edit方法和Edit视图详解 添加查询 Entity Framework 数据迁移之添加字段 添加验证 Details 和 Delete 方法详解 本教程将介绍如何使用Visual Studio Express 201

ASP.NET MVC 5 入门指南汇总

原文:ASP.NET MVC 5 入门指南汇总 经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解,全文最终完成了一个管理影片的小系统,非常适合新手入门ASP.NET MVC 5 (新增.删除.查询.更新) ,并由此开始开发工作. 现将12篇文章汇总如下: 1. ASP.NET MVC 5 - 开始MVC 5之旅 2. ASP.NET MVC 5

ASP.NET MVC 5 学习教程:通过控制器访问模型的数据

原文 ASP.NET MVC 5 学习教程:通过控制器访问模型的数据 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Server LocalDB Edit方法和Edit视图详解 添加查询 Entity Framework 数据迁移之添加字段 添加验证 Details 和 Delete 方法详解 在本节中,你将新建一个MoviesController

ASP.NET MVC 5 学习教程:添加控制器

原文 ASP.NET MVC 5 学习教程:添加控制器 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Server LocalDB Edit方法和Edit视图详解 添加查询 Entity Framework 数据迁移之添加字段 添加验证 Details 和 Delete 方法详解 MVC代表了模型-视图-控制器.MVC是一个架构良好,可测试性和易于

ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解

原文 ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Server LocalDB Edit方法和Edit视图详解 添加查询 Entity Framework 数据迁移之添加字段 添加验证 Details 和 Delete 方法详解 在本节中,我们继续研究生成的Edit方法和视图.