Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 序章

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 序章

-- 新建微软实例

1、  简介

为学习MVC4而写的文章,以项目开发的角度书写。循序渐进,同时也是自己学习的过程,博文编写过程中,我会参考相关专业书籍和网站,尽量编写和描述规范的编码和原理。若是过程中有错误,请各位看官不吝啬指出!

2、  博文定位

新手教程,所以适合刚刚准备学习MVC4的博友阅读。不过会讲述很多原理,个人认为,目的是学会如何操作,但是原理也同样重要。授人以鱼不如授人以渔。

3、  初次接触MVC

创建微软提供的MVC项目实例,初次接触一下MVC4的特性。

图 1

这里创建MVC4项目实例,至于最新的MVC5这里并不做样例,该项目是将要在生产环境下运行的项目,所以没有选用MVC5来作为Web框架,采用了前一个版本MVC4。

图 2

4、  Razor语言简介

按照图中的做法,先创建一个MVC4的实例项目,先体验一下MVC4的架构特点以及特性。这里选择Razor视图引擎,较之以前的Web Form引擎,个人感觉清爽了太多。推荐使用Razor引擎。简单介绍一下Razor引擎,Razor是一种允许把代码和内容进行平滑集成的语法,但是注意了,Razor并不是一种新的语法,而是将已知的语言来编写代码,例如我们这里会用的C#,当然其他的语言也行,例如VB.NET。MSDN:Razor语法

图 3

在创建的默认微软实例中,我们可以看到整个工程的目录结构,途中文档树上黄色黄色标记部分就是MVC的关键结构了,Controller(控制器)、View(视图)、Model(模型)。由于楼主电脑上暂时还没有安装Visio,这里就先不画结构图了,以后补上。

这里来说说MVC架构的好处吧。MVC模式是一种严格实现应用程序各部分隔离的架构模式。这种“隔离”有一个特响亮的名字“分离关注点”,通俗点儿的名字叫做”松耦合”。因此呢,MVC架构都是以实现应用程序模块之间的隔离为目标的。

既然都实现了隔离,那么好处就显而易见了,每个组件的独立,相互之间没有直接的依赖。因此在使用单一文件编译组件时,减少了相关组件之间的影响。不会‘牵一发而动全身’。

其他关于MVC的概念就不多细说,原理方面可以多看看MSDN,网上博主们也说了很多了。

好了,项目已经创建,先运行一下。该实例中提供基础的MVC编写方式与规范。

图 4

图 5

图 6

5、  MVC路由

从上图的访问路径,引入了MVC中的一个重要概念’路由’,用对比来说明把,传统的Web Form架构下,网站的每个URL都是由单个的物理文件.aspx表示的。而Web Form的单个页面和页面类是紧密耦合的,这便是代码后置技术(code-behind),当年微软弄出这个来着实是了不起的,其中的事件驱动模型更是大大提高了web开发的速度,但是现在很多项目处于维护、扩展等多方面的考虑,都放弃了这种模式。

而MVC的路由是依赖复杂的路由规则动态的映射外部的URL到正确的控制器上,并动态的操作指定要显示的视图给用户。高度的复用,便是路由的强大之处。

 另外补充一点:MVC路由功能并不是只有Asp.Net MVC程序可以使用,其实Web Form同样可以使用的。

图 7

图中显示的便是MVC下的一个标准路由配置,

 路由配置说明

提示一下:MVC的路由中控制器和操作是不区分大小写的,也就是说/Home/Action、/home/Action、/home/action是指向同一个Recent操作上的。

关于路由的原理很复杂,作为新手教程,这里不深入,若有兴趣,之后的文章中做出详细的解释。上面的代码中举例了一个简单的路由配置,Controller指初始的控制器名,注意,不用加上控制器名之后的controller,Action指向控制器方法名,id则为附带参数。这里的默认控制器就是表示,页面指向Home控制器里面的叫做Index的方法。

附上匹配路由模式的URL及其值:

URL Controller Action ID
/auctions/auction/12345 AuctionsController Acution 12345
/auctions/recent AuctionsController Recent  
/auctions AuctionsController Index  
/ HomeController Index  

6、  绑定与压缩

图 8

MVC4中引入了新的特性之一:绑定和压缩。

从字面上的意思容易理解,就是将javascript和CSS合并以及压缩,来提高网站的访问速度,其实这种事儿目前很多网站已经很常见了,并不是新鲜事儿了,比如淘宝,看看淘宝首页的源码,就知道PHP的淘宝用了一个插件,将javascript合并了,来提高页面的访问速度。这也是提交客户端体验的重要手段之一。这里同样不详细介绍,之后的文章里面再解说如何使用Asp.Net MVC来绑定压缩这些文件。

7、  最后

MVC4中其实除了上面提到的绑定和压缩外,还有异步控制器、显示模式。这两种新特性将在之后的文章中提到。

9、  参照书籍和网站

《MVC5 框架揭秘》、《Asp.Net MVC4 Web编程》、MSDN

8、 相关下载

文档:http://download.csdn.net/detail/a406502972/8375369

下一章节:

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第一章 使用数据

 
 

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 1的更多相关文章

  1. Asp.Net MVC4 + Oracle + EasyUI + Bootstrap

    Asp.Net MVC4 + Oracle + EasyUI + Bootstrap --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.ht ...

  2. Asp.Net MVC4 + Oracle + EasyUI 学习 第二章

    Asp.Net MVC4 + Oracle + EasyUI 第二章 --使用Ajax提升网站性能 本文链接:http://www.cnblogs.com/likeli/p/4236723.html ...

  3. Asp.Net MVC4 + Oracle + EasyUI 学习 第一章

    Asp.Net MVC4 + Oracle + EasyUI  第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...

  4. Asp.Net MVC4 + Oracle + EasyUI 学习 序章

    Asp.Net MVC4 + Oracle + EasyUI  序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1.  简 ...

  5. sp.Net MVC4 + Oracle + EasyUI + Bootstrap2

    Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第二章   Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第二章 --使用 ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与目录(持续更新中...)

    转自:http://www.cnblogs.com/ymnets/p/3424309.html 曾几何时我想写一个系列的文章,但是由于工作很忙,一直没有时间更新博客.博客园园龄都1年了,却一直都是空空 ...

  7. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请 系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分 ...

  8. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充 系列目录 补充一下,有人要表单的代码,这个用代码生成器生成表Flow_Form表 ...

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(46)-工作流设计-设计分支

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(46)-工作流设计-设计分支 系列目录 步骤设置完毕之后,就要设置好流转了,比如财务申请大于50000元( ...

随机推荐

  1. design pattern Builder 生成器设计模式

    其实设计模式可以学习很有趣,你并不需要有这么难啃旱地FOG对我来说,当然,这些都是健康的骨骼啃啃. 在本文中,建造者模式设计一个搞笑的一幕.根据这一模型来学习功夫的方法,哈哈. 基类的第一,设计.那么 ...

  2. Java线(一个):线程安全的和不安全

    当我们看JDK API什么时候,总是找一些类描述说:,线程安全或线程安全,例如StringBuilder在,么一句,"将StringBuilder 的实例用于多个线程是不安全的.假设须要这种 ...

  3. 【Flume】flume于transactionCapacity和batchSize进行详细的分析和质疑的概念

    我不知道你用flume读者熟悉无论这两个概念 一开始我是有点困惑,? 没感觉到transactionCapacity的作用啊? batchSize又是干啥的啊? -- -- 带着这些问题,我们深入源代 ...

  4. Scrum三头猪

    猪和鸡在过去进入业务合作.他们都打算开一家餐厅,它的售价火腿和鸡蛋. 这想了一下时间猪,我用他的肉,鸡只是用它生下的蛋.万一生意失败,我自己的命就没,,没有不论什么影响. 1. Scrum两类关系人 ...

  5. Event Sourcing - ENode(二)

    接上篇文章继续 http://www.cnblogs.com/dopeter/p/4899721.html 分布式系统 前篇谈到了我们为何要使用分布式系统,因为ENode本身就是一个分布式的框架.看了 ...

  6. hdu 4965 Fast Matrix Calculation(矩阵高速幂)

    题目链接.hdu 4965 Fast Matrix Calculation 题目大意:给定两个矩阵A,B,分别为N*K和K*N. 矩阵C = A*B 矩阵M=CN∗N 将矩阵M中的全部元素取模6,得到 ...

  7. libsvm工具箱C++编程实践2

    转载请注明出处  http://blog.csdn.net/u013491262/article/details/37344193   点击打开链接 上周因为皮肤有点过敏,去医院来来回回一周. 前几天 ...

  8. fastjson经常用法

    首先,JSON究竟是什么? JSON就是一串字符串 仅仅只是元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引號内是属性或值 : 冒号表示后者是前者 ...

  9. S3C2416裸机开发系列19_Fatfs播放录像wav音频文件

    S3C2416裸机开发系列19 Fatfs播放录像wav音频文件 国际象棋男孩    1048272975 多媒体资源,一般都是以文件的形式存储在固化存储器中.Fatfs所支持的fat32为windo ...

  10. Oracle经常使用函数

    Oracle经常使用函数 --TRUNC,TO_DATE,TO_CHAR,TO_NUMBER, SUBSTR,REPLACE.NVL .TRIM,wm_concat,upper, lower,leng ...