ASP.NET简介数据库
简单来讲,ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本建立网页和网站的开发框架。 编程
微软在2001年开发的第一个版本的ASP.NET,是一种创建在.NET之上的Web运行环境。借助于ASP.NET,能够创造出内容丰富的、动态的、个性化的Web站点。ASP.NET简单易学、功能强大、应用灵活、扩展性好,可使用任何.NET兼容语言。 浏览器
如今ASP.NET已经更新到4.7的版本了,但ASP.NET只能运行在Windows系统上,并非跨平台的。因此,微软后续又发布了ASP.NET的开源和跨平台版本的ASP.NET Core(最新版已经更新到2.0)。 服务器
虽然目前最新技术是ASP.NET Core,但ASP.NET做为ASP.NET Core的基石,也并无过期。因此对于初学者来讲,ASP.NET依然是一个不错的入门方向。 架构
一.Web 控件
ASP.NET 提供了七大类 Web 控件,分别是:
1. 用于处理静态和动态数据的 标准控件
2. 用于显示来自数据源控件中指定的数据源数据的 数据控件
3. 用于各类不一样类型验证的 验证控件
4. 用于在 ASP.NET 网页上建立菜单和其余导航辅助工具的 导航控件
5. 用于为 ASP.NET Web 应用程序提供可靠完整且无需编程的 登陆控件
6. 使用户可以动态地对 Web 应用程序进行个性化设置的 Web 部件控件
7. 在异步回发过程当中进行部分页更新的 AJAX控件框架
除此以外,还可使用由开发人员或第三方软件供应商建立的自定义的ASP.NET控件。异步
有了这些控件,会大大下降开发人员的工做量。例如使用GridView绑定数据,不用再写一套复杂的增删改查逻辑,只须要简单几步设置就能将数据绑定到控件上,省去了编写大量代码的时间。开发人员甚至无需了解太多的编码知识,只须要将组件拖拉,组合,设计,就能快速开发出一个网页。函数
二.设计和代码分离工具
ASP.NET采用了代码后置技术,将Web界面元素和程序逻辑分开显示,这样可使代码更清晰,有利于阅读和维护。学习
三.支持服务器脚本语言
ASP.NET使用一种服务端脚本技术(Razor),将服务器端代码同HTML代码结合起来,在网页返回给浏览器以前,基于服务器的代码能够建立动态的内容,而且能够运行更复杂的任务,使Web开发更加高效。
ASP.NET 支持三种不一样的开发模式:
Web Pages 是开发 ASP.NET 网页最简单的开发模式。它提供了一种简单的方式来将 HTML、CSS、JavaScript 和服务器脚本结合起来,容易学习,容易理解,容易使用,因此很是适合新手。Web Pages还内置了数据库、视频、图形、社交媒体和其余更多的 Web Helpers,所以很容易扩展。
Web Forms(Web 窗体)
Web Forms是最古老的 ASP.NET 编程模式,是整合了 HTML、服务器控件和服务器代码的事件驱动网页。Web Forms是在服务器上编译和执行的,再由服务器生成 HTML 显示为网页。Web Forms还有数以百计的Web控件和组件用来建立带有数据访问的用户驱动网站。
MVC(Model View Controller 模型-视图-控制器)
MVC是一种使用三层架构(Model View Controller 模型-视图-控制器)设计建立 Web 应用程序的模式:
MVC模式同时提供了对 HTML、CSS 和 JavaScript 的彻底控制。
下面来详细介绍下这三种模式的特色。
MVC: 如今大型网站最经常使用的是MVC模式开发,它将应用程序分为Model,View,Controller三个部分,架构清晰,各个层次之间耦合度低,更加利于平常维护,因此比较适用于大型的网站,例如美团和猪八戒网都使用了ASP.NET开发。但MVC摒弃了ASP.NET最具特点的Web控件,学习难度也随之增长,对初学者不太友好。
Web Forms: Web Forms是比较传统的 ASP.NET 模型。Web Forms有大量的服务器控件支持,例如GridView、Repeater等控件能够方便的进行数据绑定,从而减小了大量代码的编写,提升了网站开发速度。Web Forms将显示逻辑(.aspx显示页)和处理逻辑(.cs逻辑处理页)分离,使用的是事件驱动编程,例如一个按钮的click事件,能够在.cs文件中处理事件逻辑,相似于js,不一样的是它能够直接与服务器交互。但因为Web Forms大量使用了事件处理函数,致使耦合度过高,不利于平常维护,代码的重用性也不高。
Web Pages:相较于Web Forms和MVC,Web Pages是最适合初学者的开发模型。它使用Razor(一种简单的标记语法)将HTML代码和服务器代码结合起来,在服务器将页面返回到浏览器以前,运行 Razor 中的代码,这些代码可以完成浏览器没法完成的任务,并将建立出的 HTML 内容返回给浏览器,浏览器接收到HTML页面与普通的静态HTML页面没有任何区别。可是Web Pages模式的短板也很是明显,代码逻辑性差,重用性差,难于管理,使它没法应用于大型的逻辑复杂的网站。
总之,这三种开发模式都有本身的优缺点。接下来我会用ASP.NET的三种开发模式开发拥有一些基本功能(添删改查)的Web网站实例,你们能够在开发过程当中深刻理解这三种模式的优劣性,当本身实际开发一个网站时,能够根据实际的业务,选择合适的开发模式。
更多内容可访问个人博客:http://www.yunc.top/