Asp.net mvc和asp.net有什么区别?

如题所述

区别:

一、ASP.NET是一个网站开发的技术,是.NET框架中的一个应用模型。(历史挺长远的)使用ASP.NET开发Web应用程序并维持其运行,比其他开发语言更加简单。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。 

MVC与ASP.NET完全没有关系,是一个全新的Web开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC。可将原来的ASP.NET称为 ASP.NET Webforms,新的MVC 称为ASP.NET MVC。

MVC是软件架构的一种模式,可以说就相当于常说的设计模式。其中主要包括三个模块,顾名思义。就如MVC名字所显示的那样:模型(Model),视图(View),控制器(Controller)。mvc中的模型(Model)和视图(View )是完全区别于三层架构中的模型(Model)和视图(View)的。

二、Asp.net微软提供web开发框架或者技术。分Web Form和ASP.NET MVC。下面简单说明各自优缺点。

Web Form

优点:

WebForm优点

1、支持丰富的服务器控件。

2、支持视图状态,每个控件状态以“隐藏域”的形式存在当前表单页面来达到“有状态”,这就是ViewState

3、基于事件驱动编程,如:click事件等,aspx页面与cs文件分离,即显示逻辑与处理逻辑分离,便于分工,美工、编程。

4、学习成本低。

缺点:

1、站在项目架构的角度,web form不是很理想架构模式,尽管可以使用经典的三层架构或者mvp,但不是最优秀的。

2、性能viewstate成功解决了asp问题,但同样引入新的问题,viewstate页面存储势必增加页面大小、降低程序性能。

3、代码可重用性不好;缺少对并行开发支持,因为aspx页面与cs紧密耦合太高;Seo不友好,因为url指定具体aspx页面;不利于单元测试,因为使用大量事件处理函数。

ASP.NET MVC

Asp.net Mvc架构模式是一种低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP.NET MVC不支持ViewState和服务器控件。

优点:

1、有对数据直接访问的权利,如:对数据库的访问;

2、模型(Model)“不依赖”视图(View)和控制器(Controller),即模型(Model)不关心它会被如何显示或者如何被操作;

3、模型(Model)中数据的变化一般会通过一种刷新机制被“公布”;

4、为了实现3中的“机制”用于监视此模型的视图必须事先在此模型上注册。从而,视图可以了解在数据模型上发生的改变。

缺点:

没有viewstate和基于事件的编程,上手慢,学习成本高。

三、使用场景:

1、快速开发------>web form

2、单元测试、性能-------->mvc

3、大量使用js、jquery------>mvc

4.、代码重用性------->mvc

四、WebForm的开发方式

服务器端控件

一般处理程序+Html静态页+Ajax

一般处理程序+Html模板

五、模型不同

WebForm模型

MVC请求模型

DomainModel–领域模型:不仅仅是一个实体类,而是整个业务才处理流程的一个规则。

六、ViewState处理

ASP.Net MVC的开发方式。

2009年第一个开源项目版本发布。

更加简洁,更加接近原始的“请求-处理-响应”。

更加开发、更多的新的特点、社区活跃。

不会取代WebForm。

底层跟WebForm都是一样的。管道上不同的处理而已。

MVC只是表示层的一种新的方式。

MVC是微软2009对外公布的第一个开源的表示层框架,这是微软的第一个开源项目。

MVC目的不是取代WebFrom开发,只是web开发的另外一种选择。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-11-16

ASP.NET MVC是一种开发模式,ASP.NET MVC框架是MVC的实现,M模型,V视图,C控制器,即视图与业务逻辑分离。ASP.NET MVC适合开发大型的项目。asp.net mvc只能运行在Windows,一般通过IIS发布;

asp.net 开源,可跨平台,能够发布到Linux等系统上。asp.net core做了很多的整合工作,目前来说完成了最基本的一部分类库的迁移。

从前景上来说,asp.net 肯定是以后的一种潮流,随着docker等技术的普及,跨平台的重要性凸显,必须要使用asp.net 编写的接口才能发布到linux中,也就是asp.net 编写的接口可以做成docker的镜像发布,而asp.net mvc不能。所以最终肯定是会慢慢都转移到asp.net上来。

ASP.NET MVC 是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序(Web Application)框架,它由Castle的MonoRail而来,日前最新版本是ASP.NET MVC 5.1。

本回答被网友采纳
第2个回答  2015-06-11
mvc是model+view+控制器(英文全拼忘了~)

mvc的运行机制和asp.net是不同的。

mvc是通过控制器进行操作,通过model带数据到view(显示)

asp.net是一个页面管一个页面(通过后台)

开发到某种程度上,mvc的速度是要快于asp.net的,不过现在有cms,asp.net已经进入了急速开发时代,并且因为mvc还算是新技术,不太成熟,所以很多程序猿还是使用asp.net多一点(主要是没那么多时间专门研究mvc,而且研究过了不一定用的好)

语法上两者有差别(因为我两个都会用)mvc如果你不是系统学习的话,很容易被搞乱,mvc使用模版的规则和asp.net完全不同,但是更便捷(简单说mvc模版可以应用在标签而不仅仅限于页面,比如你一个input通过js变成日期框,在mvc中可以定义一个专属于input的模版并且可以作为属性直接赋予,赋值之后就会自动使用这个模版)。

mvc在数据验证上提供了一整套解决方案,并且开放更多基类以便实现更复杂的操作,总之灵活度上有提升,但因为它还比较新,流传还是不如asp.net这么广泛而已。
就先这么多把,记得给分哦
第3个回答  2006-07-11
.net可以看作(其实不只是)一个大的执行环境,用于执行il,当然还有更多功能。
ASP.NET作为.NET看作一个小的执行环境,用来执行web程序

详细的可以参考:
.net精髓
.net框架程序设计

这两本书上阐述得比较透彻
第4个回答  2016-03-02
Asp.net Mvc架构模式是一种 低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP.NET MVC不支持ViewState和服务器控件。
优点:
1.架构降低了程序间的耦合性,M V C,分层,目标明确
2.性能 不支持viewstate,完成html,已于结合jquery使用,提供程序性能
3.支持并行开发,可扩展性好,继承asp.net 特性:表单验证、缓存、会话等。
缺点:
没有viewstate和基于事件的编程,上手慢,学习成本高。
asp.net Web Form
优点:
1.支持丰富的服务器控件。如:GridView和ListView可以绑定数据,从而减少了大量的代码编写
2.支持视图状态,每个控件状态以“隐藏域”的形式存在当前表单页面来达到“有状态”,这就是ViewState
3.基于事件驱动编程, 如:click事件等,aspx页面与cs文件分离,即显示逻辑与处理逻辑分离,便于分工,美工 、编程。不像asp代码混乱
4.学习成本低
缺点:
1.站在项目架构的角度,web form 不是很理想架构模式,尽管可以使用经典的三层架构或者mvp,,但不是最优秀的。
2.性能 viewstate成功解决了asp问题,但同样引入新的问题,viewstate页面存储势必增加页面大小、降低程序性能
3.代码可重用性不好;缺少对并行开发支持,因为aspx页面与cs紧密耦合太高; Seo不友好,因为 url指定具体aspx页面;不利于单元测试,因为使用大量事件处理函数

Asp.net mvc和asp.net有什么区别?
MVC与ASP.NET完全没有关系,是一个全新的Web开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC。可将原来的ASP.NET称为 ASP.NET Webforms,新的MVC 称为ASP.NET MVC。MVC是软件架构的一种模式,可以说就相当于常说...

asp.netmvc和asp.netcore的区别?
首先,架构方面,ASP.NET MVC 是基于 Web Forms 的,而 ASP.NET Core 采用的是更加现代、轻量级的架构。ASP.NET MVC 提供了更强大的模板引擎和更灵活的路由机制,使得开发 Web 应用变得更加高效。其次,依赖库和框架。ASP.NET MVC 使用 ASP.NET Framework,主要依赖于 .NET Framework 的功能,而 AS...

asp.net三层架构与asp.net MVC各自的区别,各自应该应用在什么场合,在...
ASP.NET MVC是一个基于MVC模式的开发框架,而 三层架构是一种架构。它们可以在概念上区别开来,也就是说它们各有各的好,不能把asp.NET MVC代替asp.net三层架构,反过来也不行!如果要做大型应用开发的话,我建议使用asp.net mvc!

ASP.NET MVC 与 ASP.NET Web Form 的介绍与区别
在 ASP.NET 框架下的一种基于事件模型的开发模式,有开发速度快,容易上手等特点。ASP.NET 作为微软的Web程序开发框架,MVC与Webform 是不同时期的开发模式,Webform 优点 :可以基于事件模型开发,类似Winform中,所有请求使用ViewState和页面生命周期来维持控件状态,同时控件的开发,加快了开发速度,整体We...

asp、net、mvc,、mvvm有什么本质区别吗?
ASP是微软早期的一种动态网页脚本环境 ASP全称是ActiveServerPages,是由微软开发的一种服务器端脚本(主要使用VBScript、JScript),主要用来开发动态网页的。它在.NET框架之前诞生,早在10年前就已被淘汰了,自.NET面世后,ASP有了一个升级版:ASP.NET。MVC、MVVM都是一种设计模式 MVC和MVVM都是用来...

如何理解ASP.NET三层架构与ASP.NET MVC
ASP.NET是传统而稳定的web开发框架,可以根据需要应用N层架构包含上面的三层架构,很多电子商务网站使用,比如京东、m18.com,现在asp.net4.0的时代,更体现它的老当益壮!ASP.NET MVC不是ASP.NET的增强版本,可以说它是微软全新的web开发框架,大概是07年的时候出的1.0版本。MVC也是一种开发模式(...

ASP.NET MVC2和ASP.NET的关系
ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类别库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序 Model:包括数据、验证规则、数据访问和业务逻辑等应用程序信息。View:封装了应用程序的表示层,是呈现给使用者看的信息。Controller:包括控制流逻辑,控制信息流和应用...

请问:ASP.net mvc5和asp.net.core有什么区别呢?在今后的发展中这个前...
区别:asp.net mvc5只能运行在Windows,一般通过IIS发布。asp.net core开源,可跨平台,能够发布到Linux等系统上。asp.net core做了很多的整合工作,目前来说完成了最基本的一部分类库的迁移。前景:asp.net core肯定是以后的一种潮流,随着docker等技术的普及,跨平台的重要性凸显,必须要使用asp.net ...

asp.net mvcASP.NET MVC特色与优点
ASP.NET MVC框架基于Model-View-Controller(MVC)设计模式,为Web应用开发提供了新的解决方案。它将复杂的Web项目分解为三个主要部分:Model(数据模型)、View(用户界面)和Controller(控制器),这有助于提高维护性和减少项目间的耦合,使开发更为灵活和模块化。MVC的优势在于:通过分离Model,可以更好...

ASP.NET构架?B\/S?三层构架?这几个有什么关系吗?
asp.net是微软的网站开发框架,是早期asp动态网站得到.net加持后的产品。b\/s叫浏览器服务器模式,相对于客户端服务器模式c\/s,就是程序通过浏览器实现,不需要安装客户端。三层架构指mvc,相对于asp.net的webform,三层架构是一种程序设计模式,应该说是一种最佳实践模式,把页面显示、数据获取,逻辑处理...

相似回答