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下的一个标准路由配置,

 1 routes.MapRoute(
 2
 3                 //路由名称
 4
 5                 name: "Default",
 6
 7                 //URL参数
 8
 9                 url: "{controller}/{action}/{id}",
10
11                 //默认参数
12
13                 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
14
15             );

提示一下:MVC的路由中控制器和操作是不区分大小写的,也就是说/Home/Action、/home/Action、/home/action是指向同一个Recent操作上的。         关于路由的原理很复杂,作为新手教程,这里不深入,若有兴趣,之后的文章中做出详细的解释。上面的代码中举例了一个简单的路由配置,Controller指初始的控制器名,注意,不用加上控制器名之后的controller,Action指向控制器方法名,id则为附带参数。这里的默认控制器就是表示,页面指向Home控制器里面的叫做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 第一章 使用数据

时间: 2024-11-01 03:01:04

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 序章的相关文章

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第二章

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第二章 --使用Ajax提升网站性能 本文链接:http://www.cnblogs.com/likeli/p/4236723.html 文章集合:http://www.cnblogs.com/likeli/category/651581.html 1.  MVC的渲染部分视图 向服务器请求HTML标签来更新网页的内容,这种方法就叫“部分渲染”,这是属于Ajax的基本过程. 部分渲染技术包括了发送异步请求给服务

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第一章

Asp.Net MVC4 + Oracle + EasyUI + Bootstrap 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 1.    关于HtmlHelper和UrlHelper 因为大部分的web请求的目标都是向客户端发送HTML代码.因此,Asp.Net MVC也是为我们创建HTML提供了各种帮助.除了Razor,另外还有两个最为重要的帮助类就是HtmlHelper和UrlHelper,他们作为控制器

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(34)-文章发布系统①-简要分析

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(34)-文章发布系统①-简要分析 系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Android的基本开发构成,我还是会持续更新本系列的一些知识点的用法. 说句实在话,我很佩服那些能连续好几年每个星期都有一篇文章的人,能坚持真是一种幸福. 一张图回顾一下我们做了那

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(35)-文章发布系统②-构建项目

注:阅读本文,需要阅读本系列的之前文章 代码生成器下载地址(文章开头处) 接下来我们建立数据库的表和各层的代码 我们只需要两张表,文章列表(MIS_Article)和类别表(MIS_Article_Category) USE [AppDB] GO /****** Object: Table [dbo].[MIS_Article] Script Date: 05/15/2014 17:33:15 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用

我相信目前国内富文本编辑器中KindEditor 属于前列,详细的中文帮助文档,简单的加载方式,可以定制的轻量级.都是系统的首选 很多文章教程有kindeditor的使用,但本文比较特别可能带有,上传文件的缩略图和水印的源码!这块也是比较复杂和备受关注的功能 一.下载编辑器 KindEditor 4.1.10 (2013-11-23) [1143KB] 官方最新版 或者: http://www.kindsoft.net/down.php 二.添加到项目 解压 kindeditor-x.x.x.z

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航

本节主要知识点是easyui 的手风琴加树结构做菜单导航 有园友抱怨原来菜单非常难看,但是基于原有树形无限级别的设计,没有办法只能已树形展示 先来看原来的效果 改变后的效果,当然我已经做好了,最后只放出代码供大家参考,其实网上也有这方面的资料,但是不是很好用,我还是自己写了 改变后的效果 手风琴一直都是比较漂亮和受欢迎的,但是基于树多级别来说,做起来就比较麻烦,所以我这里也用了手风琴加树的模式来做 注:上面的图标都是乱添加的,并不代表意思 进入正文: 首先必须下载一些图标.可以自行百度网页小图标

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试

我想测试EF在一百万条数据下的显示时间!这分数据应该有很多同学想要,看看EF的性能! 服务器 现在来向SQL2008R2插入1000000条数据吧 declare @i int; set @i=0; while @i<1000000 begin INSERT INTO [AppDB].[dbo].[MIS_Article] ([Id] ,[ChannelId] ,[CategoryId] ,[Title] ,[ImgUrl] ,[BodyContent] ,[Sort] ,[Click] ,[C

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

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充 系列目录 补充一下,有人要表单的代码,这个用代码生成器生成表Flow_Form表的Index代码就可以 加上几个按钮就可以了 <div class="mvctool"> <input id="txtQuery" type="text" class="searchText" /> @Ht

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

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请 系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分支执行. 起草的同时,我们分解流转的规则中的审批人并保存,具体流程如下 接下来创建DrafContoller控制器,此控制器只有2个页面,一个Create(起草页面)Index(表单列表) 表单列表显示个人想法,我是根据分类直接获取其下表单,即Flow_Type下的Flow_Form public