1.新建MVC4项目

在MVC4中有App_Data文件夹,这个文件夹里可以放一些重要的数据,比如说数据库的mdf文件等等,这个文件夹非常安全,因为这个文件夹不允许被别人下载,不允许被浏览器访问。

App_Start文件夹存放着4个配置类,例如RouteConfig.cs,这个是配置路由规则的

Global.asax文件里有Application_Start(),这个方法是在网站第一次被访问的时候调用的。

protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
//注册路由,在网站被请求的时候只注册一次
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}

MVC Razor模版介绍

在ASPX模块里我们使用的是<%%>,然而在Razor模版里面我们使用@符号。

在Razor模版里我们使用 @{},这里表示一个代码段,意思是在”{}”里面写C#代码,Razor模版引擎的强大之处在于,它会自动识别<>符号,认为“<>”代表html代码,用@符号输出

例如:


@{
string msg = "哈哈";
<input type="text" value="@msg" />
@msg <text>你好</text>
}

因为Razor视图引擎识别<>,但是我们就像在html页面上的代码段里(@{})输出 “你好”这个文字的话,有什么好的办法吗?可能你会想到使用标签 <span>你好</span>,假如我们要求不能使用标签的话呢,那么我们就要使用<text>你好</text>,这个是模版提供的原样文字的,不带标签。

MVC开发的优点

  1. 开发速度快    在使用MVC4+EF  开发简直爽歪歪
  2. 运行速度快    因为MVC和WebForm共用一套框架就是ASP.NET,但是在事件管道的第11和12事件之间,MVC在第7个事件创建的MvcHandler会调用ProcessRequest方法,去请求Url获取Controller和Action,渲染Html返回给浏览器。不像WebForm在第11和12事件之间调用PR方法,创建页面空间树。这样大大加快了网站的运行速度
  3. 加上Mono可以在Linux系统上运行

MVC跟三层区别

相信很多童靴在面试中经常被问道MVC与三层区别,首页MVC是表现层的开发方式,跟三层没有关系,MVC就是一个表现层的设计模式,用来把UI(界面)和业务代码脱离开的一种开发方式。

MVC小知识

在MVC里控制器里面的方法如果想要被浏览器访问的话,必须定义为public,控制器类也必须是public,否则不能被访问,而且控制器类名一定要以Controller结尾并且继承于Controller类,因为在ASP.NET MVC中,约定控制器必须以Controller结尾继承于Controller,但是你也可以不这样,但是需要配置,但是尽量按照约定来,这样的话很方便,这就是所谓的约定大于配置。

 

最新文章

  1. vue.js之过渡效果-css
  2. HTML5属性--(capture=&quot;camera&quot;) 上传照片或者打开手机相机
  3. memcache与memcached的区别
  4. Android 学习笔记之Volley开源框架解析(五)
  5. 各种类型的Writable(Text、ByteWritable、NullWritable、ObjectWritable、GenericWritable、ArrayWritable、MapWritable、SortedMapWritable)转
  6. Linux VPS下SSH常用命令
  7. SqlServer存储过程
  8. windows下apache+php+mysql配置
  9. HDOJ 2058 The sum problem
  10. 第一个ServiceStack程序
  11. 为什么选择使用 Dropbox 而不是其他品牌同步工具(不要加上多余的功能,要极致和专注)
  12. PYTHON3 中的虚假四舍五入:round()
  13. Mac 上Tomcat装载
  14. LeetCode之“字符串”:最短回文子串
  15. 《iOS 11 安全区域适配总结》
  16. CodeForces 937D 936B Sleepy Game 有向图判环,拆点,DFS
  17. LeetCode 232:Implement Queue using Stacks
  18. 快速简化Android截屏工作
  19. ORM对单表的增删改查
  20. Cookie 和Session 简介

热门文章

  1. [Javascript] Lodash: Refactoring Simple For Loops (_.find, _.findLast, _.filter)
  2. android开发之shape详解
  3. [Form Builer]Locking Mode and LOCK_RECORD
  4. Spring-data-redis操作redis cluster
  5. (转)我所理解的OOP——UML六种关系
  6. Quartz Cron表达式生成器
  7. MyFramework框架搭建(一)DAL层
  8. nyoj349 poj1094 Sorting It All Out(拓扑排序)
  9. 手动修复OneDrive的DNS污染屏蔽的方法
  10. IOS开发之KVC与KVO简述