.netmvc(netmvc权限管理)
ASP.NET MVC 与 ASP.NET Web Form 的介绍与区别
是微软提供的以MVC模式为基础的ASP.NET Web应用程序开发框架。
MVC 模式分别为:
Model:领域模型 处理应用程序数据逻辑部分,获取数据,处理数据
View:视图 用于处理实际返回给用户的页面
Controller:控制器 通过Model 读取处理数据,通过View 将结果返回。
在 ASP.NET 框架下的一种基于事件模型的开发模式,有开发速度快,容易上手等特点。
ASP.NET 作为微软的Web程序开发框架,MVC与Webform 是不同时期的开发模式,
Webform 优点 :可以基于事件模型开发,类似Winform中,所有请求使用ViewState和页面生命周期来维持控件状态,同时控件的开发,加快了开发速度,整体Webform的内部封装比较高。
Webform 缺点 : 正是由于封装程度高,Webform非常难扩展,开发人员便利了解内部运行原理,不容易被测试。同时控件的ViewState 增加了网站服务器的传输量,一定程度上影响程序的效率。
MVC 优点 :易于扩展,易于单元测试,易于测试驱动开发。MVC中的一个路由的存在,可以做一些链接伪静态的处理。
总结 : MVC 不是取代了Webform,两者适用于不同的开发环境下,都是简单三层中的表示层的开发框架,都是ASP.NET 框架下的开发模式。
1 页面处理流程:
MCV的页面处理流程依旧在ASP.NET原有上有扩展,MVC通过特定的IHttpModule和IHttpHandler 来处理请求,与Webform不同的,Webform中每个aspx页面都会有是一个IHttphandler实例。MVC中 Controller都比是IHttpHandler的子类实例,Action是在MvcHandler中通过MVC的工厂反射执行的,MvcHandler可以自定义。
2 上下文 请求对象: Context Session Request Response Cookie 基本一致
3 配置文件基本一致,但不通用
4 部分服务器控件并不是不可以在MVC中使用
5 在ASP.NET MVC中,包括Membership,healthMonitoring,httpModule,trace在内的内置和自定义的组件模块仍然是继续可用。
附图 :MVC 原理图和介绍
1 客户端发出请求给IIS(mvc中为集成模式),执行HttpRunTime的ProcessRequest方法
5 第八个管道事件
6 第十一,十二个管道事件
asp.net mvc是什么?
MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。
百科已经有很好的说明了
ASP.NET的Model还可以分成 BLL - DAL
还有LZ说的是ASP.NET的MVC 不是JAVA的 大家都知道asp.net是事件驱动机制为主的
但这种机制会有很多坏处 例如运行速度慢(相对) 不得不为了控制刷新而参入各种技术(如AJAX) ASP.NET的MVC 用微软的话说 就是摒弃了事件机制 摒弃了runat="server"控件 其中利弊总之众说纷纭 不过.NET专业的各位可以在JAVA的各位面前自豪的说:"我们的MVC性能比JAVA还好!"
自己写的 有点慢了哈哈 已经有人贴了一大片
再给LZ贴一个快速入门 可以更详细的了解一下 并动手试试没有aspx.cs的asp.net吧 :D
asp.net mvc是什么概念
mvc是一个设计模式,和所用的语言无关。asp.net是基于C#语言或者VB.NET语言的网页设计语言。
MVC是一种设计模式。M(model)、V(view)、C(controller)。讲究在程序设计中,将各个模块最大限度的解耦(降低关联度)。通过C来连接M和V。不过我们比较常用MVC的五层模式。MVC从表面讲是三层。这个具体你可以百度的。
NET MVC中,MVC各自的含义是什么?
NET MVC是一个缩写,它的含义是一种模式,具体的含义分别是,M代表model,V代表view,C代表controler,也就是模型,视图和控制器。
有没有必要学习.NET MVC?
如果是在职可能就不会这么问了。ASP.NET
MVC是mvc模式的一种实现,其他语言也有MVC模式的实现,思想上是一样的。如果你是走.net方向,可以考虑学一下,毕竟和asp.net开发的思想上还是有很大的区别,也不需要像asp.net开发那样用控件了。我在工作之前,并没有接触过asp.net
mvc,只学过asp.net和winform的开发,工作的时候,公司安排了两个多月的时间让我自学asp.net mvc和Android开发。
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、快速开发------gt;web form
2、单元测试、性能--------gt;mvc
3、大量使用js、jquery------gt;mvc
4.、代码重用性-------gt;mvc
四、WebForm的开发方式
服务器端控件
一般处理程序+Html静态页+Ajax
一般处理程序+Html模板
五、模型不同
WebForm模型
MVC请求模型
DomainModel–领域模型:不仅仅是一个实体类,而是整个业务才处理流程的一个规则。
六、ViewState处理
ASP.Net MVC的开发方式。
2009年第一个开源项目版本发布。
更加简洁,更加接近原始的“请求-处理-响应”。
更加开发、更多的新的特点、社区活跃。
不会取代WebForm。
底层跟WebForm都是一样的。管道上不同的处理而已。
MVC只是表示层的一种新的方式。
MVC是微软2009对外公布的第一个开源的表示层框架,这是微软的第一个开源项目。
MVC目的不是取代WebFrom开发,只是web开发的另外一种选择。