ASP.NET MVC Routing学习笔记(一)
Routing在ASP.NET MVC中是非常核心的技术,属于ASP.NET MVC几大核心技术之一,在使用Routing之前,得先引入System.Web.Routing,但其实不用这么麻烦,因为在创建ASP.NET MVC项目时,编译器已经自动添加该引入了。
首先来看看Routing有什么能力使得它是ASP.NET MVC的几大技术之一,即Routing的两大作用:
1、在客户端浏览器将URL提交到服务器后,先经过Routing,Routing把URL(如:http://localhost:39495/Home/Index)解析成:1):http://localhost:39495(网站网址)。2)Home(控制器)。3)Index(Action方法)。然后根据此解析内容对比到对应的方法。
2、相应适当的网址给浏览器,将View中的超链接相应给浏览器。
新建一个ASP.NET MVC项目后,编译器会自动生成一些项目所需的文件,当然,有些文件对于项目来说是多余,根据来需要剁掉,但这不是此次内容多说的。
Roting默认路由是由编译器自动生成的,其位置在解决方案根目录的App_Start文件夹下,展开该文件夹就能够看到本尊RouteConfig.cs配置文件。该配置文件内容如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing; namespace MvcGuestBook
{
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 }
);
}
}
}
现在就来分析一下这段代码的功能:
14行中IgnoreRoute方法作用是忽略(Ignore)路由参数RouteValue,也即是比对到以{resource}.axd/{*pathInfo}的路由规则将会被忽略掉。
17行表示定义Route名称,这里为“Default”。
18行定义了路由规则,即请求先到达controller,后到达Action,返回参数id.
19行定义了默认路由规则,即如果没有键入相应的controller、Action,则系统默认到达的控制器是Home,Action是Index。
ASP.NET MVC Routing学习笔记(一)的更多相关文章
- 精通 ASP.NET MVC 4 学习笔记(一)
		
这里记录着从 P132 到 P192 的内容.水分很足,大部分是书上的代码,我只加了一些基于我自己的理解的能帮助初学者看懂的注释,并且把书中的部分内容做了一些的拓展. 建立数据层 设置 DI 容器 / ...
 - ASP.NET MVC过滤器学习笔记
		
1.过滤器的两个特征 1.他是一种特性,可以引用到控制器类和Action方法上.比如下图 这里控制器类和action方法都引用了过滤器,这个过滤器是用来做授权的 2.特征继承自FilterAttrib ...
 - sql server 关于表中只增标识问题  C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件)  ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例  将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法    ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
		
sql server 关于表中只增标识问题 由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...
 - ASP.NET Core MVC 网站学习笔记
		
ASP.NET Core MVC 网站学习笔记 魏刘宏 2020 年 2 月 17 日 最近因为” 新冠” 疫情在家办公,学习了 ASP.NET Core MVC 网站的一些知识,记录如下. 一.新建 ...
 - ASP.NET Core 2 学习笔记(七)路由
		
ASP.NET Core通过路由(Routing)设定,将定义的URL规则找到相对应行为:当使用者Request的URL满足特定规则条件时,则自动对应到相符合的行为处理.从ASP.NET就已经存在的架 ...
 - ASP.NET Core 2 学习笔记(十二)REST-Like API
		
Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风 ...
 - Asp.Net Core WebApi学习笔记(四)-- Middleware
		
Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Mid ...
 - ASP.NET MVC基础学习
		
ASP.NET MVC基础学习 传统的MVC概念 模型:组类,描述了要处理的数据以及修改和操作数据的业务规则 视图:定义应用程序用户界面的显示方式 控制器:一组类,用来处理来自用户,整个应用程序流以及 ...
 - ASP.NET Core 2 学习笔记(十)视图
		
ASP.NET Core MVC中的Views是负责网页显示,将数据一并渲染至UI包含HTML.CSS等.并能痛过Razor语法在*.cshtml中写渲染画面的程序逻辑.本篇将介绍ASP.NET Co ...
 
随机推荐
- 调用WCF不需要添加服务引用,使用一个WCFHelper类就可以
			
效果图: 调用过程: string WCFURL = "http://localhost:100/Service1.svc"; UserRequest user = new Use ...
 - 编译原理词法分析 java简单实现
			
package com.csray; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundEx ...
 - Javascript 面向对象编程(一):封装
			
Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果 ...
 - MAC帧和IP包的分析
			
ping了12次岭南师范学院官网后退出 抓到的包如下 各个名词解释
 - 基于XML配置的spring aop增强配置和使用
			
在我的另一篇文章中(http://www.cnblogs.com/anivia/p/5687346.html),通过一个例子介绍了基于注解配置spring增强的方式,那么这篇文章,只是简单的说明,如何 ...
 - 基于注解的Spring AOP入门、增强Advice实例
			
这篇文章简单通过一个例子,介绍几种增强的基本配置,以方便spring框架初学者对aop的代码结构有个清楚的了解认识.首先,spring支持aop编程,支持aspectJ的语法格式来表示切入点,切面,增 ...
 - 压缩png质量不改变像素
			
private static byte[] CompressionImage(Bitmap bitmap, Stream fileStream, long quality) { using (Syst ...
 - 解决:View调用invalidate()后不刷新onDraw()
			
近来学android图片处理,按照例子来,自定义一个View,之后在Activity里面手动调用该View的invalidate()后,一直无法刷新onDraw() 上网搜了一下,有两种解决办法: 一 ...
 - winhttp demo
			
#include <string>#include <iostream>#include <windows.h>#include <winhttp.h> ...
 - 执行mysqld_safe报错:mysqld does not exist or is not executable
			
执行mysqld_safe报错: [root@edu data]# /usr/local/mysql5.7/bin/mysqld_safe --user=mysql160427 12:41:28 my ...