本文在于巩固基础

到这里不得不说ASP.NET MVC一个规则:惯例优先原则

ASP.NET会假定开发人员遵循特定的规则来构建自己的程序而不是使用配置文件

ASP.NET MVC文件夹结构也遵循惯例优先原则,控制器默认以“Controller”结尾,整个框架都是按照这种方式来注册控制器,并且将它们与路由相关联

Share文件夹惯例优先原则也是很明显,这个惯例可以方便用户找到布局文件的位置,如果HomeController控制器包含"Index"操作,它就会按照惯例去Views/Home目录下寻找Index视图,如果找不到就会到Shared文件夹里面去找

惯例优先原则确实能够替我们节约自己去构建的时间,提高代码可读性,从而提高开发效率

下面我们来看看ASP.NET MVC如何处理请求的

路由的概念:请求是使用一个带有URL的请求,在ASP.NET MVC中路由只是一个模式匹配系统,在程序开始,程序注册一个或者多种模式,告诉路由该如何处理这些与模式匹配的路由,路由引擎在运行时接收到请求以后,它就会根据事先已经注册好的URL模式匹配当前请求的URL,当路由引擎在路由表里发现配置的模式时,它就会把请求转发给特定的处理器来处理请求,如果找不到任何匹配的路由时就是报404状态错误码

routes.MapRoute(
name: "Default",//路由的名字
url: "{controller}/{action}/{id}",//通用的路由,URL参数
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }//默认参数
);

MapRoute方法用于注册路由

控制器的方法或者说是操作做了处理请求的主要工作

/Home/Index 执行HomeController中的Index方法

ASP.NET MVC 学习之路-3的更多相关文章

  1. ASP.NET MVC 学习之路-1

    本文在于巩固基础 学习参考书籍:ASP.NET MVC4 Web编程 首先确定我们学习MVC的目标: 我们学习ASP.NET MVC的目的在于开发健壮的.可维护的Web应用,当然这需要一定的知识基础, ...

  2. ASP.NET MVC 学习之路-2

    本文在于巩固基础 为了方便理解MVC框架,我们先创建空的ASP.NET MVC模板 下面是创建后的项目结构 每个文件或者文件夹的作用 App_Data 应用程序数据--- 顾名思义是放置文件或者数据库 ...

  3. ASP.NET MVC 学习之路-4

    本文在于巩固基础 模型绑定 从URL 获取值 public ActionResult About(int id) { ViewBag.Id = id; return View(); } @{ View ...

  4. ASP.NET MVC学习之路:模板页

    1.MVC开发步骤: 控制器-视图. 2.每一个视图都会有一个默认的模板页:_ViewStart.cshtml. 名字不能改,只能叫_ViewStart. 3.Layout=”~/Views/Shar ...

  5. ASP.NET MVC 学习之路-5

    本文在于巩固基础 数据库开发模式: 1.数据库优先开发模式 2.模型优先开发模式 EntityFramework学习之一 最简单的一个案例 第一步创建模型 public class Student { ...

  6. ASP.NET MVC 学习之路-6

    本文在于巩固基础 上文中使用的Code First创建数据库 本文将使用数据库生成模型 这里使用ADO.NET实体数据模型来生成模型 下面按照指导完成操作 下面看看如何使用这个框架 数据访问修改主要是 ...

  7. [ASP.NET MVC 小牛之路]04 - 依赖注入(DI)和Ninject

    本人博客已转移至:http://www.exblr.com/liam  为什么需要依赖注入 在[ASP.NET MVC 小牛之路]系列的理解MVC模式文章中,我们提到MVC的一个重要特征是关注点分离( ...

  8. [ASP.NET MVC 大牛之路]01 - 开篇

    匆匆2014,转眼就到末尾了.在这一年,你还有哪事情些想做而没有做? 2014年在我身上发生了两件意义重大的事,一是正月初一宝宝出生,我升级成为了爸爸:二是进入了一家创业公司,成为了技术负责人. 去年 ...

  9. [ASP.NET MVC 大牛之路]02 - C#高级知识点概要(1) - 委托和事件

    在ASP.NET MVC 小牛之路系列中,前面用了一篇文章提了一下C#的一些知识点.照此,ASP.NET MVC 大牛之路系列也先给大家普及一下C#.NET中的高级知识点.每个知识点不太会过于详细,但 ...

随机推荐

  1. uva10820 send a table (nlogn求1-n欧拉函数值模版

    //重点就是求1-n的欧拉函数啦,重点是nlogn求法的版 //大概过程类似于筛选法求素数 #include<cstdio> #include<iostream> #inclu ...

  2. Ubuntu 查找命令

    Ubuntu 查找文件夹 使用find命令查找find / -name 文件夹名称 -type d找到结果中含有路径 查找命令 从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR” ...

  3. zabbix学习入门总结

    对于zibbix,我现在的轮廓,是多个agent,一个server,再加上一些可选的proxy. 从通信的角度来看,就是数据流从agents流向server.但是agent跟server数据传送的细节 ...

  4. swift Dictionary 字典

    // //  main.swift //  字典 // //  Created by zhangbiao on 14-6-15. //  Copyright (c) 2014年 理想. All rig ...

  5. 【最小费用最大流模板】【Uva10806+Spring Team PK】Dijkstra, Dijkstra,

    题意:从1到n 再从n到1 不经过重复的边 ,(如果是点就是旅行商问题了),问最短路 建立一个超级源S S到1连一条费用为0,容量为2的边,求费用流即可 如果流<2 那么hehe 否则    输 ...

  6. 白话JAVA守护线程

    OneCoder(苦逼Coder)原创,转载请务必注明出处: http://www.coderli.com/archives/daemon-thread-plain-words/ 关于“白话”:偶然想 ...

  7. Apache Lens —— 统计数据分析查询接口

    Lens 提供了一个统一数据分析接口.通过提供一个跨多个数据存储的单一视图来实现数据分析任务切分,同时优化了执行的环境.无缝的集成 Hadoop 实现类似传统数据仓库的功能. 该项目主要特性: 简单元 ...

  8. JS 利用CNZZ进行站长统计

    利用CNZZ对网站进行站长统计 前端页面只需要在body中添加如下代码即可: <script type="text/javascript">var cnzz_proto ...

  9. asp.net mvc表单提交的几种方式

    asp.net MVC中form提交和控制器接受form提交过来的数据 MVC中form提交和在控制器中怎样接受 1.cshtml页面form提交2.控制器处理表单提交数据4种方式方法1:使用传统的R ...

  10. 获得android应用的版本号

    在开发的过程中,需要获得版本号 private PackageInfo getVersion() { PackageManager packageManager = MyApplication.get ...