ASPNET MVC概念
ASPNET MVC 是微軟官方提供的MVC模式說白了ASPNET MVC知識開發ASPNET Web
應用程序的一個框架而已而且其只是一個表示層框架同時也是微軟的第一個開源項目
使用ASPNET開發web應用程序方式
WebForm方式
AspNet MVC 方式
注意WebForm方式和AspNet MVC方式是使用開發web應用程序的兩種並行方式mvc(以下簡稱mvc)的目的並不是取代WebForm而是web開發的另外一種選擇而已
MVC模式簡介
MVC模式是一種表現模式它將web應用程序分成三個主要組件即視圖(View)控制器(Controller)和模型(Model)
MModel主要是存儲或者是處理數據的組件
Model其實是實現業務邏輯層對實體類相應數據庫操作如CRUD(Create/Retrieve/Update/Delete)它包括數據驗證規則數據訪問和業務邏輯等應用程序信息
VView是用戶接口層組件主要是將Model中的數據展示給用戶
CController處理用戶交互從Model中獲取數據並將數據傳給指定的View
要點
M和V的實現代碼分離從而使同一個程序可以使用不同的表現形式C存在的目的則是確保M和V的同步一旦M改變V應該同步更新
控制器隔離了業務邏輯和View耦合使得業務邏輯和數據規則等很容易改變而不影響到前台頁面
View和Controller都可以直接請求Model但是Model不依賴View和Controller
Controller可以直接請求View來顯示具體頁面View不依賴Controller
第一個AspNet MVC程序
案例下面我們通過向EFFirst數據庫的Customer表中添加數據數據並且將所有用戶信息展示到對應頁面的方式來書寫第一個AspNet MVC應用程序
Customer表結構
CustId(客戶編號)主鍵自動增長
CustName(客戶姓名)
CustAddress(客戶地址)
首先創建MVC的項目
對解決方案點右鍵新建項目如下圖
將項目名稱命名為MyMVC然後點擊確定如下圖
選擇否點擊確定
接下來對項目的目錄結構進行剖析
App_Data;在該文件夾下的文件是不同通過URL訪問的起到保護文件的作用
Content:項目用到的素材和樣式等的文件夾例如我們可以將Image文件夾和Css文件夾放到Content文件夾中
Controllers:控制器存儲文件夾
Models模型存放文件夾
Scriptsjs(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中書寫html代碼如下所示
既然是注冊頁面必須將用戶輸入的信息提交到服務器此時我們可以使用form表單為其action屬性設置屬性值為/UserInfo/RegisterUserInfo代表的是UserInfoControllerRegister代表UserInfoController下的action也即是說我們將信息提交到了Register這個action
用戶填寫完信息後流程跳轉到了UserInfoController此時我們可以在接收Post請求的action中書寫如下代碼
說明return RedirectToAction(Index)作用是跳轉到名稱為Index的action繼續執行
創建actionIndex和視圖Index
用同樣的方式對Index點右鍵創建ViewIndex
<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
最終我們可以實現如下效果
至此今天的文章結束了
From:http://tw.wingwit.com/Article/program/net/201311/12164.html