C#-MVC基礎-模型(Model)、視圖(View)和控制器(Controller)


 

 

搜狗百科:http://baike.sogou.com/v25227.htm?fromTitle=MVC

MVC全名是Model View Controller,是軟件工程中的一種軟件架構模式,把軟件系統分為三個 基本部分:模型(Model)、視圖(View)和控制器(Controller)

是一種軟件設計典范,用一種業務邏輯和數據顯式分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在界面和用戶圍繞數據的交互能被改進和個性化定制的同時而不需要重新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。

 

Model(模型)是應用程序中用於處理應用程序數據邏輯的部分。通常模型對象負責在數據庫中存取數據。

模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件對象來處理數據庫,被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據,由於應用於模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。

View(視圖)是應用程序中處理數據顯示的部分。通常視圖是依據模型數據創建的。

視圖是用戶看到並與之交互的界面。MVC好處是它能為應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據並允許用戶操縱的方式。

Controller(控制器)是應用程序中處理用戶交互的部分。通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。

控制器接受用戶的輸入並調用模型和視圖去完成用戶的需求,所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求並決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數據。

 

一、新建MVC

文件→新建→項目

 

二、新建控制器

打開 App_Start → Route.Config.cs

所以,新建的第一個控制器名字需要為 "HomeController"

 三、控制器常用的返回類型

字符串 - string 返回字符串  動作結果 - ActionResult (返回視圖,或執行完方法后返回視圖)

四、用戶訪問控制器,控制器直接返回給用戶

1、返回字符串

代碼

前台

查的源文件

2、返回網頁

代碼:

頁面顯示:

查看源文件代碼:

 五、用戶訪問控制器,控制器訪問視圖后返回給控制器,控制器再返回給用戶

1、返回View

(1)返回一個 ActionResule 類型的 View(視圖)

(2)在方法內部右鍵選擇"添加視圖"

(3)視圖路徑:

 (4)視圖展示

(5)網頁展示及查看源文件

 六、用戶訪問控制器,控制器訪問模型后返回給控制器,控制器再返回給用戶

例如:返回數據庫中Users表中所有的用戶名

(1)在Models中新建LinQ類 → 新建數據庫訪問類

數據庫訪問類查詢所有數據:

(2)編寫控制器代碼

(3)頁面展示

七、用戶訪問控制器,控制器請求視圖層,視圖層由模型層支持,在視圖層用表格展示

(1)新建動作,並創建視圖,注意引用命名空間

 

(2)綁定數據

復制代碼
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@ Import Namespace="MvcApplication5.Models" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>test</title>
</head>
<body>
    <table style="width:100%;text-align:center;">
        <tr style="color:white;">
            <td>用戶名</td>
            <td>密碼</td>
            <td>姓名</td>
            <td>聯系電話</td>
            <td>身份</td>
            <td>公司</td>
        </tr>

        <%
            List<Users> ulist=new UsersData().Select();
            foreach (Users u in ulist)
            {
             %>
        <tr>
            <td><%=u.UserName %></td>
            <td><%=u.Pwd %></td>
            <td><%=u.Name %></td>
            <td><%=u.Tell %></td>
            <td><%=u.Pow %></td>
            <td><%=u.Company %></td>
        </tr>

        <%} %>

    </table>
</body>
</html>
復制代碼

(3)頁面展示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM