当前位置:编程学习 > C#/ASP.NET >>

ASP.NET MVC初体验






MVC (Modal View Controller)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器,即三个核心部件。它是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
那么,为什么要使用MVC呢?大部分Web应用程序都是用像ASP、PHP、或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,而 MVC从根本上可以强制性的将它们分开。

自己运行AspNetMVCPreview2-setup.msi安装,就出现了一个问题:安装后,在VS2008里面竟然没有MVC模板?!
上网查找原因,原来是因为中文版所有的安装文件默认放在2052下面,而ASP.NET MVC是英文的,所有都放在1033下面,所以导致ASP.NET MVC模板不能载入。
很幸运,修正方法也有哦,首先复制文件夹,如下图:






安装完后,VS2008中会添加一个新的项目模板"ASP.NET MVC Web Application", 如下图所示: 
 





新建项目以后,VS2008会自动生成项目的文件结构。如下图所示:
 





MVC三个组成部分各有一个文件夹来存储各自的程序文件。
VS2008中的Controller/View模板:
 





当然,现在也可以在网上下载一些源代码了。
比如:包含ASP.NET MVC Framework源代码解压后,可以在MVC子文件夹里看到源码哦,如下图:
 





双击,用VS2008打开包含MVC源码工程,如图所示:
 





MVC将应用程序的Model、View及Controller三部分"优雅的"分离,真正实现了高内聚、低耦合的灵活架构,大大降低了程序的复杂性,提高了可扩展性及可重用性。
而且,网上还有很多ASP.NET MVC的课程,blog 和小例子,有兴趣的朋友可以拿研究研究:
 




http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/Series/MVC.aspx





 
http://msdn.microsoft.com/zh-cn/default.aspx

http://www.chrisvandesteeg.nl/2008/09/16/jquery-ajax-with-aspnet-mvc-preview-5/

http://www.infoq.com/cn/news/2007/12/ajax-aspnet-mvc



--------------------编程问答-------------------- up --------------------编程问答-------------------- 我顶.现在是beta版本吧.园子里也有很多人在学.我们项目一直在用,从preview 2开始 --------------------编程问答-------------------- 就让我们一起回到asp的年代吧 --------------------编程问答--------------------
引用 3 楼 zzuyongp 的回复:
就让我们一起回到asp的年代吧



mvc岂能是asp能比拟的... --------------------编程问答-------------------- 话说asp.net的codebehind就分离的蛮好……
当然,框架……最近很烦这东西…… --------------------编程问答-------------------- 除了吹嘘的M  V  C分离得很好和路由功能外。。真没看到优点。。。
MVC 试图页面还有 codebehind。。。呵呵 是不是很搞笑? --------------------编程问答-------------------- 补充一点:asp.net MVC 只敢说和asp.net webform 是二中不同的模型 
而不敢说asp.net MVC将取代asp.net webform 。。。
虽然beta版的我也稍微研究了下,但到目前位置我还是没觉得这玩意儿有质的提升。。。 --------------------编程问答-------------------- 好贴,我顶!!! --------------------编程问答-------------------- MVC可以把.net进行asp化。 --------------------编程问答-------------------- 怎么有点三层的意思。 --------------------编程问答-------------------- 你应该写入你的Blog中, --------------------编程问答--------------------  这么好的软件!!我试试!顶一下! --------------------编程问答-------------------- o --------------------编程问答-------------------- 我觉得吧,使用MVC设计模式的一个最大的好处就是它简化了WEB应用开发中的TDD过程。
--------------------编程问答-------------------- 很好,顶 --------------------编程问答-------------------- MVC框架正是完全分离的开发模式,是一个复杂的架构模式,但多种设计模式结合在一起,使MVC模式的实现变得简单易行。
--------------------编程问答-------------------- up --------------------编程问答-------------------- 听说ASP.NET MVC 预览版2中提供了VS2059开发环境中第一个支持MVC的模板,而且对动态数据进行了改进。
--------------------编程问答-------------------- 真想知道MVC 模板是怎么实现的呢?好想学习一下,有老师可以教我吗?
--------------------编程问答-------------------- 嗯,我个人觉得在使用过程中最大感受是,NET MVC框架实现了System.Web.IHttpRequest和IHttpResponse接口,这让单元测试能力得到了增强,单元测试可以撇开控制器而直接进行。
--------------------编程问答-------------------- ASP.NET MVC框架的一些特性对Web开发人员非常重要,NET MVC框架深度整合许多用户熟悉的平台特性,而且整个架构是基于标准组件的。
--------------------编程问答-------------------- ASP.NET MVC框架的一些特性对Web开发人员非常重要,NET MVC框架深度整合许多用户熟悉的平台特性,而且整个架构是基于标准组件的。
--------------------编程问答-------------------- 我觉得它最方便的是可以在网上下载源代码,对我们来说操作起来就不那么复杂了! --------------------编程问答-------------------- MVC framework 有更好的扩展性,允许开发人员创建他们所需要的高级结构的程序,配置自己的新的rendering engines 或specialized controllers。
--------------------编程问答-------------------- 贴子不错,过来学习学习,感谢楼主分享!!! --------------------编程问答-------------------- 很方便,使用Visual Studio 2008专业版,在创建ASP.NET MVC Web应用程序时,可以自动地创建一个测试项目。
--------------------编程问答-------------------- 我想补充一点,ASP.NET 3.5 Extensions 包括很多内容比如ASP.NET Application Services/Dynamic Languages Support in ASP.NET/Silverlight Controls for ASP.NET等,官方版本http://www.asp.net/mvc/ 是preview 2 或 3,学习网上资料应对应版本。
--------------------编程问答-------------------- 学习CTP等版本的用户需要注意,正式版的相关API是很可能有变化的。因此推荐绝大部分用户等到正式版发布后再做尝试。ASP.NET MVC框架确实只是提供了ASP.NET WebForms框架之外又一种开发Web应用的选择,并不是要完全取代WebForms。 --------------------编程问答-------------------- 是不是和java一样了? --------------------编程问答-------------------- 说的太对了
引用 9 楼 winner2050 的回复:
MVC可以把.net进行asp化。
--------------------编程问答--------------------  我觉得WVC最大的好处是构架灵活,大家可以试一试!!! --------------------编程问答-------------------- 个人认为WVC真正做到了将Model Wiew Controller优雅的分离,对于像我这样的出学者来说就简单的多了! --------------------编程问答-------------------- 谢了.学习中,先顶 --------------------编程问答-------------------- 牛人啊·~!!!!
值得收藏... 向楼主致敬
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,