https://laihao2.com/Home/Contact19_List
ASP.NET開發操作流程:資料表設定好>再寫程式:加入資料庫>串聯資料庫>產生Models裡面類別檔dao>按:建置>Controllers裡面的Entities>產生畫面View
產生Models裡面類別檔dao>按:建置>
ProductDBContext.cs裡面要記得填入
public virtual DbSet<ContactForm> ContactForm { get; set; }
Controllers裡面的Entities>
public ActionResult Contact19_List()
{
ViewBag.Layout = "~/Views/Shared/_Layout.cshtml";
var customers = _db.ContactForm.ToList();
var ESGs = _db.ContactForm.ToList();
return View(ESGs);
}
解釋程式碼
這段 C# 代碼是一個 ASP.NET MVC 控制器中的 Action 方法 Contact19_List
,它的作用是獲取 ContactForm
表中的所有記錄,並將這些記錄傳遞到視圖中顯示。我們可以逐行解釋這段代碼:
public ActionResult Contact19_List()
這是一個定義在控制器中的 Action 方法,返回一個 ActionResult
對象。ActionResult
是 ASP.NET MVC 中的一個基類,用於表示不同類型的結果(比如視圖、重定向等)。
ViewBag.Layout = "~/Views/Shared/_Layout.cshtml";
這行代碼是將視圖中的 Layout
設置為 "_Layout.cshtml"
文件。ViewBag
是一個動態對象,可以用來在控制器和視圖之間傳遞數據。這里是設置視圖的布局文件路徑。
var customers = _db.ContactForm.ToList();
這行代碼從數據庫中獲取 ContactForm
表的所有記錄,並將它們存儲在變量 customers
中。_db
是數據庫上下文,ContactForm
是該數據庫上下文中的一個表。ToList()
會將數據從數據庫中拉取並轉換為一個列表。
var ESGs = _db.ContactForm.ToList();
這行代碼和前面的一行相同,重新從 ContactForm
表獲取所有記錄,並將它們存儲在變量 ESGs
中。這里的變量名不同,但執行的操作相同。customers
變量沒有在後續代碼中使用,所以可以被認為是多余的。
return View(ESGs);
這行代碼將變量 ESGs
中的 ContactForm
表記錄列表傳遞給視圖,並返回該視圖進行呈現。在視圖中,可以使用這個傳遞的數據來顯示記錄。
ContactForm
表中獲取所有記錄並將它們傳遞到視圖中。customers
變量是冗余的,因為後續並沒有使用它。產生畫面View程式碼
@model IEnumerable<WebApplication5.Models.ContactForm>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Contact19_List";
}
<style>
body {
font-family: "Helvetica Neue", Arial, sans-serif;
background-color: #f9f9f9;
color: #333;
margin: 0;
padding: 0;
line-height: 1.6;
}
.farm-wrapper {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #fff;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
h1, h2, h3 {
font-weight: 300;
color: #444;
margin-bottom: 10px;
}
header {
text-align: center;
padding: 20px 0;
}
nav ul {
list-style: none;
padding: 0;
margin: 0;
}
nav ul li {
display: inline;
margin-right: 15px;
}
nav ul li a {
text-decoration: none;
color: #666;
font-weight: 400;
transition: color 0.3s;
}
nav ul li a:hover {
color: #000;
}
main {
padding: 20px 0;
text-align: center;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
th, td {
padding: 10px;
text-align: left;
border-bottom: 1px solid #ddd;
}
th {
background-color: #f1f1f1;
font-weight: 500;
}
td {
font-weight: 300;
}
footer {
text-align: center;
padding: 10px;
font-size: 0.9em;
color: #999;
}
</style>
<div class="farm-wrapper">
<header>
<h1>我的網站</h1>
<nav>
<ul>
<li><a href="#">首頁</a></li>
<li><a href="#">關於我</a></li>
<li><a href="#">作品</a></li>
<li><a href="#">聯絡</a></li>
</ul>
</nav>
</header>
<main>
<h2>歡迎來到我的網站</h2>
<p>這是一個簡潔風格的網站範例。</p>
<!-- 表格展示 ContactForm 資料 -->
<table>
<thead>
<tr>
<th>@Html.DisplayNameFor(model => model.Name)</th>
<th>@Html.DisplayNameFor(model => model.Message)</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
<td>@Html.DisplayFor(modelItem => item.Message)</td>
</tr>
}
</tbody>
</table>
</main>
</div>
解釋程式碼
這段程式碼是使用 ASP.NET MVC 框架來建立一個簡潔風格的網頁。它從 ContactForm
模型中顯示資料,並且包含一些 HTML 和 CSS 來設計頁面的佈局。以下是各部分的詳細解釋:
@model
宣告@model IEnumerable<WebApplication5.Models.ContactForm>
這行代碼指定了這個視圖使用的模型,它是一個 IEnumerable
的 ContactForm
集合,也就是說,這個視圖接收的是一組 ContactForm
資料。
ViewBag.Title
和佈局設定@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Contact19_List";
}
Layout
設定了這個視圖會使用的佈局檔案 (_Layout.cshtml
)。ViewBag.Title
定義了這個頁面的標題為 "Contact19_List"。<style>
body { ... }
.farm-wrapper { ... }
h1, h2, h3 { ... }
...
</style>
這段內嵌的 CSS 定義了頁面整體的樣式:
body
設定了全頁面的字體、背景色和文字顏色。.farm-wrapper
是一個容器,設置了最大寬度、內邊距和背景色,並加上了陰影,讓頁面中央內容有較好的視覺效果。h1, h2, h3
調整了標題的字重和顏色。table
, th
, td
定義了表格的樣式,包括邊框、內邊距以及標題行的背景色等。<div class="farm-wrapper">
<header>
<h1>我的網站</h1>
<nav>
<ul>
<li><a href="#">首頁</a></li>
<li><a href="#">關於我</a></li>
<li><a href="#">作品</a></li>
<li><a href="#">聯絡</a></li>
</ul>
</nav>
</header>
<main>
<h2>歡迎來到我的網站</h2>
<p>這是一個簡潔風格的網站範例。</p>
<!-- 表格展示 ContactForm 資料 -->
<table>
<thead>
<tr>
<th>@Html.DisplayNameFor(model => model.Name)</th>
<th>@Html.DisplayNameFor(model => model.Message)</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
<td>@Html.DisplayFor(modelItem => item.Message)</td>
</tr>
}
</tbody>
</table>
</main>
</div>
header
包含網站的標題 "我的網站" 和導航欄,這裡使用了未定義的鏈接(#
)作為佔位符。main
中有歡迎訊息 "歡迎來到我的網站" 和一個簡短的描述。ContactForm
模型的資料,透過 @Html.DisplayNameFor
動態生成表格的列標題,@Html.DisplayFor
用來顯示模型中的 Name
和 Message
屬性的值。這裡使用了 foreach
來遍歷模型中的每一筆資料並顯示在表格中。這個程式碼呈現了一個簡單的網頁,它使用 ASP.NET MVC 框架來展示來自 ContactForm
模型的資料,並包含了標題、導航欄和表格資料。
大家明天見~