失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ASP.NET Web Forms 转换至MVC开发

ASP.NET Web Forms 转换至MVC开发

时间:2019-09-24 05:03:36

相关推荐

ASP.NET Web Forms 转换至MVC开发

作为.NET 阵营的网页开发人员几乎都是从 Web Forms开始接触网页开发技术的,所在在这里主要介绍一下Web Forms与MVC的差异。

一、开发概念的转变

MVC既不是程序设计语言也不是框架,而是一种设计模式。MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式。

Web Forms 是最古老的 编程模式,是整合了 HTML、服务器控件和服务器代码的事件驱动网页。

二、数据源的改变

(1)先习惯使用强类型

在 MVC.中对于数据的操作已经从、SQLDataSource转换为LINQ、OPM。以往对于数据的传递都直接使用一个容器(DataTable、DataSet),并使用弱类型的方式来传递,MVC建议使用强类型。弱类型虽然很方便但也缺乏约束,在开发过程中若发生常见的名称输入错误也不会有任何提示,在运行的时候才看到错误。

(2)统一数据库操作语法

LINQ(Language Integrated Query)统一查询语法,它可以统一各种主流数据库的操作语法。

SQL语法如下:

select * from Student where Name = ' demo '

LINQ 语法如下:

form d in Student where d.Name == ' demo ' select d

(3)模型绑定的变化

Web Forms中后段程序必须明确指定数据绑定(BinDing)至前端的空间,页面与程序是绑定在一起的,而MVC的模型绑定整体灵活许多。这里稍微介绍一下MVC和Web Forms的对比:

Web Froms MVC

前端 <asp:TextBox ID="tx" runat="server"/> @Html.TextBox("tx")

后台 this.Text = "Web form"; ViewBag.tx = "MVC"; //ViewData["tx"]="MVC";

(4)程序流程控制的改变

Web Forms 开发人员一开始转到MVC框架,最不习惯的就是程序流程控制这部分,以往Web Forms属于事件驱动,每一个前端操作实践都有一个后端执行事件,而MVC选择回归网页无状态的方式,在无状态的环境下取代事件的一个又一个动作(Action),经由这些Action开发人员依然可以响应用户的需求,而且变得强量化。Web Forms利用ViewState技术让网页模拟出事件,每次用户的动作都需要执行完整个的页面生命周期事件,并且用ViewState记录起来。

(5)界面生成的改变

Razor语法的引入

(6)并行开发变得可行

Web Forms因为页面和程序的相关性较高,并且会使用到视觉设计人员看不懂的控件来呈现HTML,所以程序员开发一个页面需要独立完成套版、前端程序、后端程序等工作。但在MVC中,因为页面与程序的相关性非常低,而且使用的是视觉人员也看得懂的HTML标签,所以当视觉设计人员将HTML版面做好之后开发人员不需要再将一个个的HTML标签转换为控件,不仅大幅度减少了套版的时间,而且后端程序和前端HTML可以同时进行。

如果觉得《ASP.NET Web Forms 转换至MVC开发》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。