① 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控制項
你不喜歡使用開源的程序