close

前兩篇文章中,我們將資料庫和 model 物件準備好,可以準備讀取資料。但是 MVC 的結構告訴我們所有使用者的操作都由 Controller 完成。接下來我們要修改 Controller 程式以讀取資料庫內容,最後顯示在網頁內。

 

7_3_New_Controller_refModel.png

修改 Controller

一般我們開啟 MVC 專案的時候,都會建出一個 Controller 目錄。裡面有一個 Controller.cs 的檔案。直接點開它,在畫面中間就可以看到裡面的原始程式。這裡為了使用 Model 裡的資料,在 參考區域 要將 專案裡的 Model 參考進來。語句如下:

using ProjectName.Models;
 
 
利用資料實體(Data Entity)取得資料表
 
    Model 處理資料的讀取,但資料內容的讀取要使用 資料實體(Data Entity)。使用前,我們在 HomeController Controller 裡面先建立這個物件:
dbToDoEntities db = new dbToDoEntities();

使用者一開始進入網站時都先看到 index.html 這個網頁。對應於 Controller 裡面就是 index() 這個函式。我們修改它。
先加這一行:
var todo = db.tToDo.OrderByDescending(m => m.fDate).ToList();

HTML 網頁中,所有的變數型態都用 var。 我們先使用 todo 這個名稱來代表由資料庫表格中讀到的資料。
db 是我們由資料實體(Data Entity) 裡面讀到的資料提供者。資料提供者裡的 .tToDo 就是我們的表格。
後面的這個函式 OrderByDescending() 是將資料讀取出的順序要以那一個資料欄位為主。目前是以表格中的日期欄位為讀取順序。
最後的 .ToList() 是將 讀出來的資料轉成串列(list)的形式。

將資料讀取後,送回給 View 結構裡的 index.cshtml
return View(todo);
 
 
2_1_Index_NewView.png
 

視覺化工具:建立一個瀏覽串列的頁面

為了讓使用者可以看到資料表格裡的資料,我們要先建立新的網頁內容編排格式。但這部分可以用 Visual Studio 2019 的視覺化工具來完成。首先滑鼠游標點到 index() 上,按下滑鼠右鍵,選擇 "新增檢視"
 

2_2_Template_List.png

檢視名稱:直接用 Index 、範本:選用 List

 

2_3_Model_class.png

資料來源: Model 裡的 ToDo Table (tToDo)

 

2_4_Data_class.png

資料內容類別:資料實體(Data Entity)

 

2_5_uncjeckCodeLib.png

取消勾選 "參考指令碼程式庫"

 

2_6_Overwrite.png

檔名重複的警告

建立 MVC 專案時,通常Views 目錄下的 index.cshtml 檔案已經存在。這裡為了要顯示資料表格裡的內容要用新的內容取代原來的內容。直接按 是(Y) 就可以。

 

2_7_output.png

按下執行(F5),就可看到最後的輸出結果

 

文章標籤
MVC C#.NET Controller
全站熱搜
創作者介紹
創作者 小木屋 的頭像
小木屋

小木屋

小木屋 發表在 痞客邦 留言(0) 人氣()