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

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

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

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

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

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

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

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

按下執行(F5),就可看到最後的輸出結果
文章標籤
全站熱搜
留言列表

