一、共同点

它们共用一套管道机制。

二、不同点:

1、开发方式:

webform开发方式

第一步:前台页面(*.aspx)+后置代码类(*.cs)
第二步:前台页面(*.aspx)+一般处理程序(*handler.ashx)
第三步:html+JQuery.Ajax+一般处理程序(*handle.ashx)
 
MVC开发方式
控制器(Controller)- 负责转发请求,对请求进行处理。
视图 (View) - 界面设计人员进行图形界面设计。
模型 (Model)-业务逻辑、数据、验证规则、数据访问等等
View 和 Controller都可以直接请求Model,但是Model不依赖View和controller
Controller可以直接请求View来显示具体页面,View不依赖Controller
真正和用户打交道的是 控制器,视图/模型 只是被控制器调用并产生html代码而已。
 
注意:三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。 
 
2请求模型不同
MVC请求模型

 
 
 
 
 
 
 
 
 
 
 
 
 
 
简化:

 
 
 
 
 
 
 
 
 
 webfrom请求模型

 
 
 
 
 
 
 
 
 
 
 
 
 
简化:页面<---->实体模型
 
 详情:http://www.cnblogs.com/edisonchou/p/4216337.html
 
附录一:aspx与ashx的区别
 
*.html (htm): 由浏览器来解释(翻译)代码并显示给使用者浏览。因此,其几乎不占用服务器资源,可以直接发送给请求者,由请求者的浏览器来负责解释工作。 *.aspx: 由服务器中的.net编译器来负责解释,翻译成html内容,然后发送给请求者。 *.ashx: 由服务器中的.net编译器来负责解释,翻译成指定内容,然后发送给请求者。 aspx 与 ashx的区别在于,aspx是一个自带生命周期的大型容器(自身有界面属性),其包含创建,初始化,加载,渲染,卸载等等过程。(无论你用还是不用这些过程)。而ashx不存在界面,与aspx相比,不经过页面生命周期,因此占用资源非常少。 通常如果非必要时,我们应该采用ashx。比如当需要使用ajax调用服务器内容时,一般不要创建.aspx文件来获取内容,而用.ashx文件来获取内容,以保证资源消耗最少的方式。
 
附录二:页面生命周期:
详细
http://www.cnblogs.com/zhaoyang/archive/2011/11/16/2251200.html
实践
http://www.cnblogs.com/jackcxd/archive/2010/05/29/1746310.html
附录三:Ajax与json
http://www.cnblogs.com/rush/archive/2012/05/15/2502264.html

WebFrom与MVC异同的更多相关文章

  1. WebFrom模拟MVC

    如:  aspx前台     这样写生成页面时不会产生新的html标签,用控件则会产生新的html标签 <h1><%= title %></h1> <p> ...

  2. [转]asp.net webform 与mvc 共享session

    公司内部系统最早是用.net webform模式开发的,现新项目用.net mvc 开发,现存在的问题就是如何保持原有.net webform的登录状态不变,而在mvc中能够验证用户的登录状态,也就是 ...

  3. asp.net webform 与mvc 共享session

    公司内部系统最早是用.net webform模式开发的,现新项目用.net mvc 开发,现存在的问题就是如何保持原有.net webform的登录状态不变,而在mvc中能够验证用户的登录状态,也就是 ...

  4. ASP.NET/MVC/Core的HTTP请求流程

    ASP.NET HTTP管道(Pipeline)模型 1. 先讲一点,再深刻思考 一般我们都在写业务代码,优化页面,优化逻辑之间内徘徊.也许我们懂得HTTP,HTTPS的GET,POST,但是我们大部 ...

  5. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程

    简述C#中IO的应用   在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...

  6. Mvc+Hui+SqlSugar+Autofac+NLog+T4 架构设计(一)

    一.前言 作为小菜鸟第一次写博客的我还有点小激动,最近开始打算着手写一个属于自己架构.算下来差不多最近花一周多的下班时间了来写这个框架,本来想整体架构开发完成测试完成后才写博客,怕自己没时间或失去动力 ...

  7. vs 2010 中类文文件模板的修改

    类模板 文件的修改,以前也修改过,这次有个同事问我,搞了有一会才搞定,这里还是记录分享下. 如果想在每次创建文件时,自动生成文档注释(注意是自动生成文档注释而不是帮助文档),如下面的代码,需要设置VS ...

  8. C#之系统异常处理机制

    在系统开发过程中,BUG和异常产生是无处不在的,但是需要我们去做的就是不断去发掘异常.修改异常. 这篇文章主要谈谈我在系统中解决异常的几种方法: 1.控制台程序产生的异常: 在大多数的控制台程序中,运 ...

  9. 【DDD】领域驱动设计精要

    本文算是<领域驱动设计>这本书的读书笔记,加上自己的一些读后感.网上有很多这本书的读书笔记,但是都是别人的,不如自己总结的理解深刻.建议大家在读这本书时结合<实现领域驱动设计> ...

随机推荐

  1. SQL Server 字符串拼接、读取

    一.查询结果使用,字符串拼接 declare @names nvarchar(1000) declare @ParmDefinition nvarchar(1000) declare @sqltext ...

  2. C# 实现简单仿QQ登陆注册功能

    闲来没事,想做一个仿QQ登陆注册的winform,于是利用工作之余,根据自己的掌握和查阅的资料,历时4天修改完成,新手水平,希望和大家共同学习进步,有不同见解希望提出! 废话不多说,进入正题: 先来看 ...

  3. MVC所有的ActionResult

    一.所有的Controller都继承自System.Web.Mvc.Controller 目前ASP.NET MVC3默认提供了多种ActionResult的实现,在System.Web.Mvc命名空 ...

  4. 动态产生select option列表

    在很久之前,Insus.NET刚学习前端时,有写过<动态创建一些常的html标签>http://www.cnblogs.com/insus/p/3741665.html 但其中没有实现动态 ...

  5. 【UOJ244】 【UER #7】短路(贪心)

    传送门 uoj Solution 简单题? 考虑一条路径长什么样子,一定是经过某一个字母环的左上角,那么答案就很简单了. 我们记一个前缀最小值,这样子让他一路走下去一定是最优! 然后扫一遍就好了. 代 ...

  6. Python 脚本利用adb 进行手机控制

    相关参考:https://www.cnblogs.com/bravesnail/articles/5850335.html 一.  adb 相关命令: 1. 关闭adb服务:adb kill-serv ...

  7. input输入框添加内部图标

    有可能在制作网页的过程中遇到各种美化表单设计,这次我们来试着做一个demo 将input输入框添加内部图标 话不多说,看一下最终效果 我们的思路是,在一个div中,加入一个div和一个input标签, ...

  8. Django-cookie的保存以及删除操作

    Django里的保存cookie和flask是有区别的 今天我就说以下Django里的cookie操作 #先导包 #导入Django模块 from django.http import HttpRes ...

  9. vue教程1-02 data里面存储数据

    vue教程1-02 data里面存储数据 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  10. DWZ中刷新dialog的方案解决

    在DWZ中进行ajax表单提交后,通过回调函数来返回状态结果,以及返回是否需要刷新父页的navTabId. DWZ给我们提供了两个回调函数,一个是子窗口为navTab的navTabAjaxDone,一 ...