1.简述MVC思想与PHP如何实现MVC
2.ASP.NET MVCç®åç¼ç¨ç¯
简述MVC思想与PHP如何实现MVC
简单的项析说就是将网站源码分类、分层。目源码c码分
MVC三个字母的项析我约源码含义:
M:Model 模型,负责数据库操作。目源码c码分
V:View 视图,项析源码 左侧树形菜单负责调用Model调取数据,目源码c码分网站挖矿源码再调用模板,项析展示出最终效果。目源码c码分
C:Controller 控制器,项析程序的目源码c码分入口,决定改调用哪个View,项析并告诉View该做什么。目源码c码分
如此说来,项析网络源码获取器程序的目源码c码分执行顺序是C-V-M 或 C-M ,和MVC的项析小型商城源码 asp名字正好相反。
ASP.NET MVCç®åç¼ç¨ç¯
ããASP NET MVCæ¦å¿µããASP NET MVC æ¯å¾®è½¯å®æ¹æä¾çMVCæ¨¡å¼ è¯´ç½äº ASP NET MVCç¥è¯å¼åASP NET Web
ããåºç¨ç¨åºçä¸ä¸ªæ¡æ¶èå·² èä¸å ¶åªæ¯ä¸ä¸ªè¡¨ç¤ºå±æ¡æ¶ åæ¶ä¹æ¯å¾®è½¯ç第ä¸ä¸ªå¼æºé¡¹ç®
ãã使ç¨ASP NETå¼åwebåºç¨ç¨åºæ¹å¼
ããWebFormæ¹å¼
ããAsp Net MVC æ¹å¼
ãã注æ WebFormæ¹å¼åAsp Net MVCæ¹å¼æ¯ä½¿ç¨å¼åwebåºç¨ç¨åºç两ç§å¹¶è¡æ¹å¼ mvc(以ä¸ç®ç§°mvc)çç®ç并ä¸æ¯å代WebForm èæ¯webå¼åçå¦å¤ä¸ç§éæ©èå·²
ããMVC模å¼ç®ä»
ããMVC模å¼æ¯ä¸ç§è¡¨ç°æ¨¡å¼ å®å°webåºç¨ç¨åºåæä¸ä¸ªä¸»è¦ç»ä»¶ å³ è§å¾(View) æ§å¶å¨(Controller)å模å(Model)
ããM Model主è¦æ¯åå¨æè æ¯å¤çæ°æ®çç»ä»¶
ããModelå ¶å®æ¯å®ç°ä¸å¡é»è¾å±å¯¹å®ä½ç±»ç¸åºæ°æ®åºæä½ å¦CRUD(Create/Retrieve/Update/Delete) å®å æ¬æ°æ® éªè¯è§å æ°æ®è®¿é®åä¸å¡é»è¾çåºç¨ç¨åºä¿¡æ¯
ããV Viewæ¯ç¨æ·æ¥å£å±ç»ä»¶ 主è¦æ¯å°Modelä¸çæ°æ®å±ç¤ºç»ç¨æ·
ããC Controllerå¤çç¨æ·äº¤äº ä»Modelä¸è·åæ°æ®å¹¶å°æ°æ®ä¼ ç»æå®çView
ããè¦ç¹
ãã MåVçå®ç°ä»£ç å离 ä»è使åä¸ä¸ªç¨åºå¯ä»¥ä½¿ç¨ä¸åç表ç°å½¢å¼ Cåå¨çç®çåæ¯ç¡®ä¿MåVçåæ¥ ä¸æ¦Mæ¹å Våºè¯¥åæ¥æ´æ°
ãã æ§å¶å¨é离äºä¸å¡é»è¾åViewè¦å 使å¾ä¸å¡é»è¾åæ°æ®è§åçå¾å®¹ææ¹åèä¸å½±åå°åå°é¡µé¢
ãã ViewåControlleré½å¯ä»¥ç´æ¥è¯·æ±Model ä½æ¯Modelä¸ä¾èµViewåController
ãã Controllerå¯ä»¥ç´æ¥è¯·æ±Viewæ¥æ¾ç¤ºå ·ä½é¡µé¢ Viewä¸ä¾èµController
ãã第ä¸ä¸ªAsp Net MVCç¨åº
ããæ¡ä¾ ä¸é¢æ们éè¿åEFFirstæ°æ®åºçCustomer表ä¸æ·»å æ°æ®æ°æ®å¹¶ä¸å°ææç¨æ·ä¿¡æ¯å±ç¤ºå°å¯¹åºé¡µé¢çæ¹å¼ æ¥ä¹¦å第ä¸ä¸ªAsp Net MVCåºç¨ç¨åº
ããCustomer表ç»æ
ããCustId(客æ·ç¼å·) 主é®èªå¨å¢é¿
ããCustName(客æ·å§å)
ããCustAddress(客æ·å°å)
ãã é¦å å建MVC ç项ç®
ãã对解å³æ¹æ¡ç¹å³é® æ°å»ºé¡¹ç® å¦ä¸å¾
ããå°é¡¹ç®å称å½å为MyMVC ç¶åç¹å»ç¡®å® å¦ä¸å¾
ããéæ©å¦ ç¹å»ç¡®å®
ããæ¥ä¸æ¥å¯¹é¡¹ç®çç®å½ç»æè¿è¡åæ
ããApp_Data;å¨è¯¥æ件夹ä¸çæ件æ¯ä¸åéè¿URL访é®ç èµ·å°ä¿æ¤æ件çä½ç¨
ããContent:项ç®ç¨å°çç´ æåæ ·å¼ççæ件夹 ä¾å¦æ们å¯ä»¥å°Imageæ件夹åCssæ件夹æ¾å°Contentæ件夹ä¸
ããControllers:æ§å¶å¨åå¨æ件夹
ããModels 模ååæ¾æ件夹
ããScripts js(javascript)æ件åå¨æ件夹
ããViews è§å¾åæ¾æ件夹
ãã å建æ§å¶å¨UserInfoController
ãã å建è§å¾Register
ããRegister页é¢å¯¹Controlleråèµ·è¯·æ± è¯·æ±å¯ä»¥åä¸¤ç§ getåpost æ以æ们åäºä¸¤ä¸ªaction 为äºæ¹ä¾¿åç»æä½ æ们å¯ä»¥å¯¹actionåä¸ä¸ªéè½½ æ åçRegister()ç¨æ¥å¤çgetè¯·æ± å¸¦åæ°çRegister(FormCollection collection)ç¨æ¥å¤çpostè¯·æ± å¦ä¸å¾
ããç¶å对æ åçRegisterç¹å³é® éæ©æ·»å è§å¾èå项
ããç¹å»æ·»å æé® åå¨Viewsæ件夹ä¸ä¼èªå¨å建åºä¸ä¸ªå称为UserInfo(åactionæå¨çæ§å¶å¨å称ç¸å)çæ件夹 并ä¸å¨è¯¥æ件夹ä¸å建ä¸ä¸ªå称为Registerçaspxæ件 注æ è¿éçaspxæ件没æåç¼å为 csçæ件
ããå¨Registerä¸ä¹¦å代ç å¦ä¸æ示
ããæ¢ç¶æ¯æ³¨åé¡µé¢ å¿ é¡»å°ç¨æ·è¾å ¥çä¿¡æ¯æ交å°æå¡å¨ æ¤æ¶æ们å¯ä»¥ä½¿ç¨form表å ä¸ºå ¶actionå±æ§è®¾ç½®å±æ§å¼ä¸º /UserInfo/Register UserInfo代表çæ¯UserInfoController Register代表UserInfoControllerä¸çaction ä¹å³æ¯è¯´æ们å°ä¿¡æ¯æ交å°äºRegisterè¿ä¸ªaction
ããç¨æ·å¡«åå®ä¿¡æ¯å æµç¨è·³è½¬å°äºUserInfoController æ¤æ¶æ们å¯ä»¥å¨æ¥æ¶Post请æ±çactionä¸ä¹¦åå¦ä¸ä»£ç
ãã说æ return RedirectToAction( Index )ä½ç¨æ¯è·³è½¬å°å称为Indexçaction继ç»æ§è¡
ãã å建action Indexåè§å¾Index
ããç¨åæ ·çæ¹å¼å¯¹Indexç¹å³é® å建View Index
<style type= text/css > th td { text align: center; } </style> <h >å¾®å·çé¨ ç¨æ·è¯¦ç»ä¿¡æ¯é¡µé¢</h > <h >ç±äºé¡¾å®¢çæ°æ®è¯å®ä¼åºç°å¤æ¡ å æ¤ä½¿ç¨tableæ¾ç¤º</h > <table width= % > <thead> <tr> <td>ç¼å·</td> <td>ç¨æ·å§å</td> <td>ç¨æ·å°å</td> </tr> </thead> <tbody> <% foreach ï¼var item in ï¼IEnumerable<Customer>ï¼ViewData[ Customer ]ï¼ { %> <tr> <td><%:item CustId %></td> <td><%:item CustName %></td> <td><%:item CustAddress %></td> </tr> <%} %> </tbody> </table> View Code æç»æ们å¯ä»¥å®ç°å¦ä¸ææ lishixinzhi/Article/program/net//