① asp.net mvc是什么
MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。
网络已经有很好的说明了
http://ke..com/view/739359.htm?fr=ala0_1_1
ASP.NET的Model还可以分成 BLL -> DAL
还有LZ说的是ASP.NET的MVC 不是JAVA的 大家都知道asp.net是事件驱动机制为主的
但这种机制会有很多坏处 例如运行速度慢(相对) 不得不为了控制刷新而参入各种技术(如AJAX) ASP.NET的MVC 用微软的话说 就是摒弃了事件机制 摒弃了runat="server"控件 其中利弊总之众说纷纭 不过.NET专业的各位可以在JAVA的各位面前自豪的说:"我们的MVC性能比JAVA还好!"
自己写的 有点慢了哈哈 已经有人贴了一大片
http://e.codepub.com/2009/0422/3206.php
再给LZ贴一个快速入门 可以更详细的了解一下 并动手试试没有aspx.cs的asp.net吧 :D
② php与asp.net的区别
1. PHP, Hypertext Preprocessor, 动态网页开发语言。
PHP,Hypertext Preprocessor,最初在95年问世(那时以前叫Personal Home Page)。PHP最初是制作动态网页的服务器端脚本语言,但
现在PHP已经可以作为command line运行有GUI的standalone的程序。现在是PHP Group在开发和管理PHP的规则,功能等。但PHP大都用在
dynamic webpage scripting上,好象没听过谁用它开发desktop application。
PHP使用率是制作动态网页的几种语言(JSP,ASP,ASP.NET, ColdFusion, Ruby, SHTML)中最高的。因为PHP在95年已经问世至今,以有
相当数量的开发者。我们熟知的国际权威网络全书Wikipedia有90%用PHP写的,而且国外流行多年的“校内网”FaceBook 也全部用PHP写
的,同时Yahoo, Sony官方,Pepsi百事官方这些网站都是用PHP的。根据维基网络(Wikipedia)的说法,PHP被超过20,000,000的网站所
用,被超过1,000,000的网页服务器所用。目前到2008五月,PHP最新版本为5.2.6。
PHP不仅使用率高,而且能兼容各类平台。它可以在大多数网页服务器上运行(如:MS IIS,Apache),大多数操作系统上运行(如:
Windows, UNIX, Linux)。而且PHP支持很大多数牌子的数据库:MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Gerneric
ODBC等。
结构方面,虽比JSP,ASP.NET差点,PHP也有很多Framework可用。微软的ASP.NET结构是出名的,JSP的MVC结构也很厉害,所以开发大网
站ASP.NET,JSP都很快。而PHP Group也为此付出很大努力,来开发自己特有的结构适应不同类型的大网站的需求。常见的PHP的
Framework有:CakePHP, PRADO, Symfony, Zend等。
另外LAMP结构,是PHP最常用的开发模式,即是配合Linux, Apache, MySQL, PHP,合称LAMP。
2. ASP(Active Server Pages), ASP.NET 两个分别是 动态网页开发语言,动态网页开发语言和结构
(1) 关于ASP的淘汰
ASP, Active Server Pages已经过时了, 但因为其出现的早,96年就有了,所以现在有些中小网站还用(但,使用最多最广的是PHP,最
初于95年现世。ASP是微软第一代动态网页开发语言,只能在Windows系统 + MS IIS服务器平台下运行。
Wikipedia, Facebook, 网络等都用PHP,PHP学习的简单度和ASP差不多;JSP稍微难点,JSP用的一般都是银行,购物等安全性较高的网站
,Google也用JSP)。但随着开发者的各种需求,ASP以后可以被ASP.NET取代,因为微软停止对其的一切技术维护与功能更新。ASP.NET是
革新版本的ASP(注意是“革新版本”,而非“改进版本”),或者说是完全新一代的Dynamic Web Scripting。
ASP代表着传统的dynamic web scripting,与ASP.NET没什么关系,学了确实也没用。因为ASP不象CGI(Common Gateway Interface),
CGI是动态网站制作的始祖,所有ASP,JSP,PHP什么的都根据CGI演化而来,而且ASP,PHP,JSP都包含了些 CGI的东西;而ASP却没有被
衍生出任何新技术,ASP.NET也不算基于ASP,只能说ASP.NET开发理念,library,功能完全是基于.NET的其它组件。
其实PHP,JSP,ASP明白其中一种,其它的都很容易学会了。如果非要学学传统的dynamic web scripting,那就学学PHP吧,不比ASP难,
但比ASP功能多,稳定性好,PHP5运行速度也比ASP快很多(JSP稍难因为要学点 Java)。学了PHP或JSP什么的,对学ASP.NET有好处,而
且还可以直接用PHP,JSP进行开发。去google差差英文资源,有评价PHP 最好的,有评价JSP最好的,还从没有听谁说过ASP最好。
ASP.NET毕竟在.NET中,所以ASP.NET还是有相当地位的。
(2). 关于ASP.NET的优势
ASP.NET是微软.NET Framework的一部分。伴随.NET 1.0在2002的问世,ASP.NET也出现在动态网页开发语言的家族中(与
PHP,JSP,ColdFusion, Ruby, SHTML等并行了)。
功能上,ASP.NET比ASP有更强大的library, 更好的稳定性。 ASP.NET可以使用.NET Framework中所有组件(也就是说.NET能实现的,
ASP.NET一样能实现),功能上显然强大于传统功能单调的ASP。最强的技术支持Web Service, 而且有.NET的所有library做后盾。而且
ASP.NET 在.NET 3.5中还有微软专门为AJAX开发的功能--ASP.NET AJAX。
结构上,传统的ASP把所有代码混为一团,简单的用<%%>把HTML和VBScript(或JScript)分开,实现动态输出 HTML。因为ASP.NET模仿
JSP的MVC网页结构,微软为ASP.NET开发了自己的Code-Behind结构,将 presentation(文件拓展名:.aspx)和business logic(文件拓
展名:.cs或.vb等)分离。同时Code-Behind模式也实现了让ASP.NET开发者用.NET中最普通Winform的开发模式来开发网站,方便非网页开
发者制作动态网站。所以ASP.NET更容易维护,比ASP更适合于Enterprise Level 的大网站开发。
由于ASP.NET比JSP,PHP等更接近于.NET Winform的开发。如Tree View, Datagrid View(即高级Table)等高级UI,都可以直接用
ASP.NET中的Web Control来实现,这比传统的使用JavaScript + XTHML + CSS的DHTML开发方式简单不少,也更好维护。同时ASP.NET开发
这可以定义自己的User Control,制作自己特别的一种UI(如网站LOGO,版权等部分),而且此User Control可以被存为.ascx文件,方
便让每一页(.aspx)来使用。
运行速度上,ASP.NET模仿了JSP的预编译机制(Pre-Compile)。使编译好的代码(MSIL语言)在网页服务器上运行。这样比传统的ASP,传统
PHP(PHP4以前版本)更快,因为传统的ASP是直接运行开发者写的Script,相当于每运行一次,就得编译一次那么慢。 ASP.NET可以用
VB, C#, J#等所有.NET Framework的语言开发.(但其实每种语言做的东西都一样... 就象山东话, 东北话, 写出来都是中文:)
不过ASP.NET对出学者可能有点难. 因为它其实在模拟desktop application development,即Winforms开发的模式, 不象传统的JSP,
PHP, ASP这样容易明白。传统的Dynamic Server Scripting, 象PHP 5, 这是现在最简单的, 最有效的了。( 那个JSP也不难. 如果有钱
还可以考虑下Adobe ColdFusion。)
ASP.NET的新潮的Dynamic Server Scripting, 在其带动下SUN也推出自己的JavaServer Faces (其实是拓展JSP,但JSF无法取代JSP), 和
ASP.NET很象, 也有很多Web Control(JTable, JTree),同时JSF也曾强了对WEB SERVCIE的支持, 也很适合ENTERPRISE LEVEL 的网站。
(3). ASP与ASP.NET的优劣总结:
-- ASP已经被微软停止更新;ASP.NET却在.NET(1.0, 2.0, 3.0, 3.5)中突飞猛进;
-- ASP在96年出现,并没有引领一个潮流,PHP,ColdFusion都出现于95年,引领了整个潮流;ASP.NET引领新的动态网站开发潮流,SUN
的JSF(JavaServer Faces)就是与ASP.NET极其相似;
-- ASP大多被用在是中小网站;PHP被Wikipedia, Facebook, 网络所用,JSP被GOOGLE所用;
-- ASP不支持Web Service; ASP.NET支持Web Service。要是了解.NET中的Web Service在大组织系统中的重要性,就能立杆见影的看出差
距
-- ASP开发AJAX比较麻烦;而ASP.NET专门用AJAX控件,更方便。要是了解Web 2.0,那么AJAX是什么地位,就不用我说了吧。
-- ASP.NET模仿JSP,是pre-compile的;ASP不compile,直接运行Script的速度显然没有compile之后的快。
-- ASP.NET的唯一缺点,就是开发用的IDE--Visual Studio Professional比较贵(express版免费的功能太少);ASP的唯一优点是,其
学起来最简单,跟PHP一样简单,比JSP简单,更比ASP.NET简单几倍。
3. .NET Framework
.NET Framework的概念就大了。.NET Framework是微软开发的一种软件开发技术。主要用来开发MS Windows系统上的各类软件。.NET主要
包含一个庞大的library(解决常见编程问题)和一个virtual machine(管理程序的运行)。可以说Windows是微软的命根:),所
以.NET就是微软占领软件市场的关键。
.NET Framework的library叫做BCL, Base Class Library,包含了在各种领域的大范围的编程需要,如user interface用户界面,data
access数据接入,database connectivity, cryptography, web application development网站开发,numeric algorithms数学计算,
network communications网络交流等。开发者利用各种BSL来构成自己的代码,进而开发出多样的应用程序。
.NET写出的程序在CLR, Common Language Runtime上运行。CLR是一个application virtual machine来帮助运行开发者写的程序。CLR提
供很多重要功能,如:security安全,memory management内存管理,exception handling错误控制。
BSL,CLR构成了强大的.NET Framework。
.NET Framework主要安装在Windows Server 2008, Windows Vista。小版本的.NET Framework还安装在Windows Mobile系统上。但是家用
Windows XP等系统一样可以安装.NET Framework来运行用.NET写的程序。
平时在学校学习,通常学习.NET中的三个主要技术:Winforms(桌面应用程序开发,就是平时普通程序如QQ,Skype可以用它,但其实QQ
用C,C++写的), ASP.NET(网页,平时在IE,FireFox上看的网页可以用它), ADO.NET(接入数据库,处理相关数据)。但.NET不是一种
语言。写.NET程序可以用任何.NET支持的语言,如:C#, VB.NET, J#等等。明白其中一种就可以了。
.NET概念挺大,东西也非常非常多。与之相似的技术有SUN的Java技术(分三个技术部分Java SE, Java EE, Java ME)。
③ 什么是MVC以及PHP怎样实现MVC
其实你的问题一开始就问错了,即然你问了,我就随便说说好了。
MVC 是一种设计风格,并不是一种具体手法。每个人写代码都有自己习惯的一种设计风格。MVC 是应用程序开发常用的一种风格,实际上并不适合 PHP,因为 PHP 的工作环境注定了它很难做出像样的控制器,也就是 Controll 。
MVC 本来的设计风格是:整个系统由一个程序启动,再根据用户操作调用各个处理模块,根据数据结果来决定显示成什么样给用户看。就像我们平时用的各种程序的主界面。这样程序员创建好主程序以后,只要把注意力集中在开发各个子功能上就可以了。。
可是 php 大多数情况下工作于 web 环境,有“页”的概念,每次执行都是一个新的请求。这就注定了很难实现真正的 MVC,因为用户看到页面时,PHP 已经执行完了,不可能再切换去调另一个 模型M 和 视图V 。
目前自称 MVC 的各种框架。也只不过是用一个程序判断请求,加载不同的功能块。只能称之为“单点入口”,在思路上是“请求相同的部份,而包含不同的部份”。这个入口程序实际上啥也没做,所以算不上是 MVC。反而 JS 开发的富客户端更接近一些。由一个 JS 主程序,跟据用户请求决定调用哪些数据,再把界面改变成什么样。
设计风格是前人总结出来的东西,在当前语言,当然环境,当前思维方式下。比较容易继续思考的一种设计方式。MVC 只不过是其中一种,而且并不是最适合 PHP 的一种。偏偏被炒作得好像标准似的。。
如果你一定要, 就去看一下 “PHP 单点入口实现”吧,已经是比较接近的东西了。如果一次性的控制器也能算控制器的话……
④ PHP与asp.net做的网站各有什么优缺点
。net的速度略快于php
开发周期也应该较短些,因为多数做.net开发的人,大多数都只是表面功夫ide拖来拖去就算完了,没几个了解内核的!出了问题就知道买服务器,从来不想想自己的代码有多垃圾。因为他的内核都是封装的。(对不起各位.neter,我遇到的情况就是这样)
php速度虽然略慢!配合mvc框架
开发周期应该和。net差不多!成本较低!
.net的成本要高于php!
用。net首先你必须不怕收到律师信。除非你花几万块买全所有的软件(还得说你是初期配置负载低)。
⑤ asp.net c#与php学习哪个好有没有人帮我说一下喔
这问题简单, 都学学就知道了。 别人的意见很重要, 比如你要 asp 和 asp.net 之间选, 那没的说, 后者。 但你在 asp.net 和 php 之间, 那别人的意见肯定就打架了, 因为这两样都不错,喜欢哪个的都有。 说php好学也不尽然, 说asp.net好学, 也不好说, 对于 asp 程序员来说, php的语法可能有些怪异, 而且现在php也是有类概念的面向对象编程,楼主新转行当然要学最新的, 如果还学老版的php, 那将来又的转。 而 asp.net + VB.net 的话,语法跟 asp + vb 是很像了, 但就剩下那点差异也够折腾的了。 而无论是 php 还是 asp.net , 恐怕最终都绕不开 MVC, 这对于 asp 程序员可能会很陌生,asp 也可以 MVC,但貌似很少, 如果楼主有这经验那就好了。 而不用 MVC 也必然要用别的架构,但肯定不会是 asp 的无架构了。 所以, 楼主先分别看看吧, 哪个好学学哪个。
⑥ 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页面;不利于单元测试,因为使用大量事件处理函数。
DomainModel–领域模型:不仅仅是一个实体类,而是整个业务才处理流程的一个规则。
六、ViewState处理
ASP.Net MVC的开发方式。
2009年第一个开源项目版本发布。
更加简洁,更加接近原始的“请求-处理-响应”。
更加开发、更多的新的特点、社区活跃。
不会取代WebForm。
底层跟WebForm都是一样的。管道上不同的处理而已。
MVC只是表示层的一种新的方式。
MVC是微软2009对外公布的第一个开源的表示层框架,这是微软的第一个开源项目。
MVC目的不是取代WebFrom开发,只是web开发的另外一种选择。
⑦ 现在开发网站都用MVC模式吗
基本是的,还有更先进一些的用MVVC
⑧ asp.net和php哪个容易学省事
莫要听第一楼的那个不懂装懂的
ASPNET是比较安全和先进的技术
功能也非常强大,如果要说发展,那学ASPNET会有前途的
跟着microsoft走不会错的,但是前提得你要对编程很有兴趣,你得有好一点头脑
asp.net用键盘打代码的不会占很大部份,很多都是直接拖来用
如果你只是想就业,PHP相对会简单点,这个入门和ASP一样容易
PHP的功能也很强大,资料也非常多,用PHP做的大型网站也无数
得看你本人的各种情况了。
⑨ asp.net和mvc的有什么关系
ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类别库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序
Model:包括数据、验证规则、数据访问和业务逻辑等应用程序信息。
View:封装了应用程序的表示层,是呈现给使用者看的信息。
Controller:包括控制流逻辑,控制信息流和应用程序的执行。接受来自用户的指令与数据,并将Model与View做整合的控制器,当服务器接到对ASP.NET MVC应用程序的要求时,服务器(IIS)会先使用UrlRoutingMole(ASP.NET Routing的 HTTP 模块),由它来解析是否有包含ASP.NET MVC应用程序的URL,若有,则会产生一个MvcRouteHandler对象,这个对象会装载执行的必要信息,并且会呼叫包含在URL中的Controller的Execute方法来执行工作。
Web应用程序MVC化的优点有:
更易操作HTML标记
更方便地与Jquery整合,实现Ajax技术
创建SEO友好的URLS
驱动式开发更容易
Asp.net MVC发展史
ASP.NET MVC Framework的第一个版本于2009年3月17日释出RTM版本,新的MVC 2.0也已在2010年3月11日释出供.NET Framework 3.5版本使用的RTM版本,MVC2.0在Visual Studio 2010已有集成。接下来的一系列文章使用的工具就是VS2010 MVC2.0
Asp.net MVC2.0新特性
MVC2.0的新特性主要有:
Areas:允许组织多个逻辑层,便于团队开发。
UI Helpers:可以使用strongly-typed helpers修改和展示数据,更易于维护旧有程序,从而提供高开发效率。
服务器端验证:可以使用声明式注解定义模型的验证规则。
客户端验证:自动产生基于模型验证的客户端验证
⑩ asp.net mvc框架优缺点
MVC优点:
1.大型开发的时候容易维护,扩展性很好。
2.能够对HTML有完全的控制权限,对于前端来说很友好。
3.能够进行单元测试,保证功能的实现。
缺点:
1.没有那么多的现成控件使用,开发效率相对较低(特别是对于菜鸟来说)
2.对于大型数据的处理比较难,还是因为没有现成girdview控件。这个控件虽然生成的html结构异常复杂,但是对于处理大量而且复杂的数据来说是很不错的。不过一般网站是很少有这种大量且复杂的数据,很多菜鸟都是用这个大炮来打蚊子,浪费且低效率。对于网站开发来说这个控件应该不推荐使用。
刚学的菜鸟和在需要快速开发的情况下用webform就很好。
需要可扩展性,高度控制性情况下用MVC好。但是用这个框架门槛相对较高,如果你只懂asp.net 的webform开发形式的话,因为webform已经帮你做了太多的事情,换句话说你根本不知道真正的web开发是怎么样的。反而精通php,asp的人更容易上手。
MVC和webform开发各有各的用途。
但是你不应该使用asp.net mvc框架,如果符合下面几条:
你对多态不是“非常”的熟悉
你不喜欢在这个框架上构建应用程序
你依赖于很多第三方的UI控件
你不喜欢使用开源的程序