ASP.NET MVC 学习之路-3
本文在于巩固基础
到这里不得不说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的更多相关文章
- ASP.NET MVC 学习之路-1
本文在于巩固基础 学习参考书籍:ASP.NET MVC4 Web编程 首先确定我们学习MVC的目标: 我们学习ASP.NET MVC的目的在于开发健壮的.可维护的Web应用,当然这需要一定的知识基础, ...
- ASP.NET MVC 学习之路-2
本文在于巩固基础 为了方便理解MVC框架,我们先创建空的ASP.NET MVC模板 下面是创建后的项目结构 每个文件或者文件夹的作用 App_Data 应用程序数据--- 顾名思义是放置文件或者数据库 ...
- ASP.NET MVC 学习之路-4
本文在于巩固基础 模型绑定 从URL 获取值 public ActionResult About(int id) { ViewBag.Id = id; return View(); } @{ View ...
- ASP.NET MVC学习之路:模板页
1.MVC开发步骤: 控制器-视图. 2.每一个视图都会有一个默认的模板页:_ViewStart.cshtml. 名字不能改,只能叫_ViewStart. 3.Layout=”~/Views/Shar ...
- ASP.NET MVC 学习之路-5
本文在于巩固基础 数据库开发模式: 1.数据库优先开发模式 2.模型优先开发模式 EntityFramework学习之一 最简单的一个案例 第一步创建模型 public class Student { ...
- ASP.NET MVC 学习之路-6
本文在于巩固基础 上文中使用的Code First创建数据库 本文将使用数据库生成模型 这里使用ADO.NET实体数据模型来生成模型 下面按照指导完成操作 下面看看如何使用这个框架 数据访问修改主要是 ...
- [ASP.NET MVC 小牛之路]04 - 依赖注入(DI)和Ninject
本人博客已转移至:http://www.exblr.com/liam 为什么需要依赖注入 在[ASP.NET MVC 小牛之路]系列的理解MVC模式文章中,我们提到MVC的一个重要特征是关注点分离( ...
- [ASP.NET MVC 大牛之路]01 - 开篇
匆匆2014,转眼就到末尾了.在这一年,你还有哪事情些想做而没有做? 2014年在我身上发生了两件意义重大的事,一是正月初一宝宝出生,我升级成为了爸爸:二是进入了一家创业公司,成为了技术负责人. 去年 ...
- [ASP.NET MVC 大牛之路]02 - C#高级知识点概要(1) - 委托和事件
在ASP.NET MVC 小牛之路系列中,前面用了一篇文章提了一下C#的一些知识点.照此,ASP.NET MVC 大牛之路系列也先给大家普及一下C#.NET中的高级知识点.每个知识点不太会过于详细,但 ...
随机推荐
- OpenStack high-level Functionsenabled
- #include <queue>
双端队列deque比向量vector更有优势 双端队列(deque) 连续存储的指向不同元素的指针所组成的数组<deque> 队列(queue) 先进先出的值的排列 <queue&g ...
- xml中,button改变背景颜色方法
在画几个设置界面,用到了button控件,对于button空间的背景色在不同状态下的颜色改变方法,做了一下尝试,发现了两种背景颜色改变的方法,就总结了下. 方法一尝试了好多遍才好,要点在于,在sele ...
- 操作hadoop的经验积累
操作hadoop的经验积累 Hadoop namenode –format 在执行格式化-format命令时,要避免namenode的namdespaceid与datanode的namespaceid ...
- jQuery滑动选取数值范围插件
HTML 首先载入jQuery库文件以及jRange相关的css文件:jquery.range.css和插件:jquery.range.js <script src="jquery.j ...
- Centos升级gcc4.4.7升级gcc4.8手记
本博客来自:http://www.mudbest.com/centos%E5%8D%87%E7%BA%A7gcc4-4-7%E5%8D%87%E7%BA%A7gcc4-8%E6%89%8B%E8%AE ...
- Android环境开发搭建
今天第一次接触安卓,从开发环境的配置到程序的运行,足足搞了一天,也没有整出来. 1.安装JDK 在JDK官网上下载了最新的JDK,安装成功后进行环境的配置.JAVA_HOME:C:\Program F ...
- WebView的基本使用
---恢复内容开始--- 一.实例化WebView 通过xml实例化 xml <WebView android:id="@+id/webview" android:layou ...
- EC读书笔记系列之19:条款49、50、51、52
条款49 了解new-handler的行为 记住: ★set_new_handler允许客户指定一个函数,在内存分配无法获得满足时被调用 ★Nothrow new是一个颇为局限的工具,∵其只适用于内存 ...
- Android 截取本地图库图片 并显示
package com.example.image; import android.app.Activity; import android.content.Intent; import androi ...