多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > MVC框架概述

MVC框架概述

來源:程序員人生   發布時間:2015-01-09 09:01:39 閱讀次數:4364次

            2014.11.8我們完成為時兩月的中級軟考準備,沒有過剩的時間去放松、文娛,緊接著迎來了我進入提高班以來真實的1次項目實踐--高效平臺。

         我做的是基礎系統,就是1個算是幕后英雄的角色吧!考試系統、評教系統需要我們的數據、同時新生入學系統由我們來保護,所以說任務艱巨而重要,這1節最重要的就是說軟件開發中的第1項內容:知識補充---MVC

          何謂MVC(Model View Controller):M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同1個程序可使用不同的表現情勢。比如統計學生數據可以分別用柱狀圖、餅形圖來表示。C存在的目的則是確保M和V的同步,1旦M改變,V應當同步更新。

         它的具體操作進程以下所示:

      

        模型(Model) “數據模型”(Model)用于封裝與利用程序的業務邏輯相干的數據和對數據的處理方法。“模型”有對數據直接訪問的權利,例如對數據庫的訪問。“模型”不依賴“視圖”和“控制器”,也就是說,模型不關心它會被如何顯示或是如何被操作。但是模型中數據的變化1般會通過1種刷新機制被公布。為了實現這類機制,那些用于監視此模型的視圖必須事前在此模型上注冊,從而,視圖可以了解在數據模型上產生的改變.

     視圖(View) 視圖層能夠實現數據有目的的顯示(理論上,這不是必須的)。在視圖中1般沒有程序上的邏輯。為了實現視圖上的刷新功能,視圖需要訪問它監視的數據模型(Model),因此應當事前在被它監視的數據那里注冊。

     控制器(Controller) 控制器起到不同層面間的組織作用,用于控制利用程序的流程。它處理事件并作出響應。“事件”包括用戶的行動和數據模型上的改變。  

    下面用1個例子來對MVC進行解釋:

        創建1個項目以下圖所示:


        右擊Controller文件夾,新建1空Controller,命名為HelloWorld,將代碼改成以下:

public class HelloWorldController : Controller { public string Index() { return "Hello world"; } public string Hello() { return "Hello everyone"; } public string Hello2(string name) { return "Hello to you " + name; } }
           右擊添加視圖: 

         在新建的視圖中添加代碼:(結合了css+div)

@using 自動導入程序集.Models @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <style type="text/css"> #tblist { border: 1px solid #0094ff; width: 600px; margin: 10px auto; border-collapse: collapse; } #tbList th, td { border: 1px solid #0094ff; padding: 10px; } </style> <script type="text/javascript"> function del(id) { if (confirm("您肯定要刪除嗎?親~~")) { window.location = "/home/del" + id; } } </script> </head> <body> <table> <tr> <th>id</th> <th>標題</th> <th>分類</th> <th>狀態</th> <th>時間</th> <th>操作</th> </tr> <!--遍歷Action方法,設置給ViewData集合數據,生成HTML代碼--> @foreach (BlogArticle a in ViewData["DataList"] as List<BlogArticle>) { <tr> <td>@a.AId </td> <td>@a.ATitle </td> <td>@a.ACate </td> <td>@a.AStatu </td> <td>@a.AAddtime </td> <td> <a href="javascript:del(@a.AId)">刪除</a> <a href="/home/modify/@a.AId">改</a> </td> </tr> } </table> @foreach (BlogArticle a in ViewData["DataList"] as List<BlogArticle>) { } </body> </html>

          接下來來實現1個基本的增刪改的功能。假定我們要對博客的基本信息進行管理,首先需要定義1個Model類型,新建1個Model,代碼以下:

namespace HelloWorld.Models { public class BlogArticle { public int ID { get; set; } public string Title { get; set; } public DateTime ReleaseDate { get; set; } } public class MovieDBContext : DbContext { public DbSet<movie> Movies { get; set; } } }
        接下來,我們新建1個Movie的Controller,使用ef(EntityFramework)來存取數據,以下配置:
      

         通過EF可以動態的為你創建數據庫果Model文件產生了變化,例如添加了1個字段,網頁就會報錯,要解決有兩種方案,1是調用Database.SetInitializer方法來自動重建數據庫,2是手動修改數據庫表。第1種方法雖然簡單但是會致使已有的數據丟失,他會重建全部數據庫。但是在開發早期非常合適使用。在這里先采取第1種方案。具體方法是,在model中新建1個類繼承自DropCreateDatabaseIfModelChanges類。在其中可以加上可選的初始化數據的代碼,然后在Global.asax中將這個對象注冊下。

         對mvc的理解僅僅局限在實現上,認識還很浮淺,希望和大家交換!

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品亚洲欧美高清不卡高清 | 国产精品久久久久久久久免费观看 | 欧美 自拍偷拍 | 亚洲国产精品aaa一区 | 国产成人性色视频 | 国产欧美在线一区二区三区 | 在线免费观看国产视频 | 欧美久久久久久久久 | 日本成人一级 | 亚洲欧美日韩小说 | 色费女人18毛片a级视频在线 | 国产成人经典三级在线观看 | 成人在线一区二区三区 | 午夜一级精品免费毛片 | 欧美成人鲁丝片在线观看 | 一区二区三区免费观看 | 欧美日韩综合网 | 国产视频一二三区 | 亚洲视频久久 | 欧美性受xxxx喷水视频 | 最近最新高清中文字幕6页 最近最新免费中文字幕8 | 免费欧美在线 | 一级毛片不卡片免费观看 | 亚洲高清视频在线观看 | 天天综合视频网 | 欧美性猛交黑人 | 免费在线一区二区三区 | 成人a大片高清在线观看 | 亚洲伊人成人 | 日本中文字幕一区二区有码在线 | 欧美视频xxxx | 自拍欧美 | 欧美日韩中文亚洲v在线综合 | 国产精品久久久视频 | 三级中文字幕永久在线视频 | 一区二区高清视频 | 男女激情视频网站 | freefromevideos性欧美| 亚洲精品中文字幕乱码三区一二 | 久久婷婷五月综合色丁香 | 日韩在线一区高清在线 |