章節一 MVC5
MVC全名是Model View Controller,是模型(model)——視圖(view)——控制器(controller)的縮寫,是一種軟體設計典范,提供了一種用業務邏輯、資料、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶互動的同時,不需要重新撰寫業務邏輯,MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構,
ASP.NET MVC是一種構建WEB應用程式的框架,它將一般的MVC模式應用于ASP.NET框架,ASP.NET MVC經歷了5個主要版本的迭代,其中ASP.NET MVC4和MVC5是目前比較成熟的版本,
ASP.NET MVC4主要功能包括:
①ASP.NET Web API;
②增強了默認的專案模板;
③增加使用jQuery Mobile的手機專案模板;
④支持顯示模式(Display Mode);
⑤支持異步控制器的任務
ASP.NET MVC5主要功能包括:
①單一的ASP.NET開發組件;
②提供了新的Web專案體驗;
③ASP.NET Identity;
④BootStrap模板;
⑤特性路由;
⑥身份驗證過濾器;
開發環境支持:
MVC5需要.NET4.5,VS2013以上版本
1.1.創建MVC Web應用程式
①新建專案

選擇MVC如下圖所示:

1.2.MVC專案檔案的結構

App_Data:應用程式本地存盤;
App_Start:應用程式配置邏輯檔案;
RouteConfig.cs:配置MVC應用程式的系統路由路徑;
Content:該檔案夾被推薦用于存盤靜態內容檔案類似CSS 和 (圖片)Images;

1.3.MVC5 Controller對應View頁面
Controllers控制器方法會回傳一個頁面視圖,和Views中的html頁面一一對應

注意:界面必須和Controller中方法名字一一對應,不然會報錯;

1.4.創建Model模型并向View展示資料
①在Model層中創建對應的User類,并在Controller層中Index方法中引入UserList;
public class TestController : Controller { // GET: Test public ActionResult Index() { User user = new User(); user.Name = "測驗人員1"; user.Age = 24; User user2 = new User(); user2.Name = "測驗人員2"; user2.Age = 23; List<User> userList = new List<User>(); userList.Add(user); userList.Add(user2); return View(userList); } }
②在Views層中對應Controller的方法視圖下進行展示;
視圖引入模型
@using 包檔案
@model IEnumerable<類>
展現資料
<ul>
@foreach (類 a in Model)
{
<li>@a.Name</li>
}
</ul>
<!--視圖引入模型--> @using WebApplication01.Models; @model IEnumerable<User> @{ ViewBag.Title = "Index"; } <!--資料展示List集合--> <ul> @foreach (User user in Model) { <li>@user.Name</li> <li>@user.Age</li> } </ul>
1.5.創建資料庫鏈接實作資料讀取
①首先在App_Start檔案下創建一個資料庫連接類;
public class ConnData { public DataSet GetDataSet() { string myStr = "server=DESKTOP-3POL04N;database=stsc;UId=sa;password=123456";//獲取鏈接字串 SqlConnection myConn = new SqlConnection(myStr); myConn.Open();//打開資料庫 string sqlStr = "select * from test01 ";//定義查詢字串 SqlDataAdapter myDa = new SqlDataAdapter(sqlStr, myConn);//sql資料配接器 DataSet myDs = new DataSet();//創建dataset myDa.Fill(myDs);//SqlDataAdapter填充DataSet return myDs; } }
②在Controller層中處理更新路由Index中的邏輯;
public ActionResult Index() { //使用資料庫查詢封裝User ConnData conn = new ConnData(); DataSet dataSet = conn.GetDataSet(); User user = new User(); user.Name = dataSet.Tables[0].Rows[0][1].ToString(); user.Age = int.Parse(dataSet.Tables[0].Rows[0][2].ToString()); User user2 = new User(); user2.Name = dataSet.Tables[0].Rows[1][1].ToString(); user2.Age = int.Parse(dataSet.Tables[0].Rows[1][2].ToString()); List<User> userList = new List<User>(); userList.Add(user); userList.Add(user2); return View(userList); }
1.6.MVC5+小三層架構
小三層架構示意圖:

①需要新增.NET FrameWork專案Model(模型層)、Bll(邏輯業務層)、Dal(資料操作層)


②增加Model、Dal、Bll中的邏輯代碼;
Model
public class UserModel { string name; public string Name { get { return name; } set { name = value; } } int age; public int Age { get { return age; } set { age = value; } } }
Bll層:
public class UserBll { public List<UserModel> getUserData() { //使用資料庫查詢封裝User UserDal userDal = new UserDal(); //Dal資料鏈接層處理資料 DataSet dataSet = userDal.GetDataSet(); UserModel user = new UserModel(); user.Name = dataSet.Tables[0].Rows[0][1].ToString(); user.Age = int.Parse(dataSet.Tables[0].Rows[0][2].ToString()); UserModel user2 = new UserModel(); user2.Name = dataSet.Tables[0].Rows[1][1].ToString(); user2.Age = int.Parse(dataSet.Tables[0].Rows[1][2].ToString()); List<UserModel> userList = new List<UserModel>(); userList.Add(user); userList.Add(user2); return userList; } }
Dal層:
public class UserDal { public DataSet GetDataSet() { //有了資料鏈接層Conn,這里更改為如下操作: string sqlStr = "select * from test01 ";//定義查詢字串 var DataTable = DbHelperSQL.ExecuteDataTable(sqlStr); DataSet myDs = new DataSet();//創建dataset myDs.Tables.Add(DataTable); return myDs; } }
注意:Bll業務層需要增加專案依賴項,如下圖

③需要在WebApplication01專案中處理Controller層和View界面層;
Controller層:

View層:

展示資料:

1.7.MVC5+小三層架構+資料連接層
這里是在上面的基礎上新增加了一個資料連接層Conn;封裝資料庫連接與增刪改查操作

之后修改Dal資料操作層,使用Conn中的DbHelperSQL封裝Sql類來執行查詢,構造DataSet:
public class UserDal { public DataSet GetDataSet() { //有了資料鏈接層Conn,這里更改為如下操作: string sqlStr = "select * from test01 ";//定義查詢字串 var DataTable = DbHelperSQL.ExecuteDataTable(sqlStr); DataSet myDs = new DataSet();//創建dataset myDs.Tables.Add(DataTable); return myDs; } }
1.8.MVC5+EF框架
①首先,需要自定義創建一個物體Model類UserInfoModels;
public class UserInfoModels { public int id { get; set; } public string name { get; set; } public int age { get; set; } }
②在Controllers控制器上創建MVC5的EF框架控制器;


③同時修改Web.config中的資料庫連接connectionString配置,關聯本地的資料庫:
其中Data Source=DESKTOP-3POL04N為本地資料庫服務器名,Initial Catalog為需要生成的資料庫名稱,
<add name="UserInfoContext" connectionString="Data Source=DESKTOP-3POL04N; Initial Catalog=UserInfoDB; Integrated Security=True;" providerName="System.Data.SqlClient" />
④點擊視圖Views檔案夾下面的自定義模型視圖Index.cshtml啟動,這時會自動由EF框架生成資料庫表UserInfoDB與界面;


轉載請註明出處,本文鏈接:https://www.uj5u.com/net/88.html
標籤:ASP.NET MVC
上一篇:在線考試系統需求分析
