iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Modern Web

ASP.NET Core的終極奧義:從零到無敵系列 第 7

Day_7 建立基本的CRUD操作裡面的CR

  • 分享至 

  • xImage
  •  

在這篇文章中,我們將深入探討CRUD操作中的Create(新增)和Read(讀取)。透過這兩個操作,我們能夠建立新的資料並檢索現有的資料,這是每個資料管理應用的核心功能之一。


1. Create(新增)操作

在ASP.NET Core中,我們可以通過控制器來實現新增資料的功能。以下是一個範例,它展示了如何新增一個學生資料到資料庫中。

public class StudentsController : Controller
{
    private readonly AppDbContext _context;

    public StudentsController(AppDbContext context)
    {
        _context = context;
    }

    [HttpPost]
    public IActionResult Create(Student student)
    {
        if (ModelState.IsValid)
        {
            _context.Students.Add(student);
            _context.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(student);
    }
}

在這段程式碼中,我們首先檢查ModelState是否有效。如果資料有效,則通過_context.Students.Add()方法將新的學生資料加入資料庫,並使用_context.SaveChanges()將變更儲存到資料庫中。當資料新增成功後,頁面會跳轉至Index視圖,顯示所有學生資料。

對應的視圖可以使用Razor語法來創建一個表單,讓使用者輸入新的學生資料:

<form asp-action="Create" method="post">
    <div>
        <label>Name</label>
        <input asp-for="Name" />
    </div>
    <div>
        <label>Age</label>
        <input asp-for="Age" />
    </div>
    <button type="submit">Create</button>
</form>

這段HTML表單允許使用者輸入學生的名稱與年齡,並提交表單以創建新資料。

2. Read(讀取)操作

讀取資料的操作同樣由控制器負責。我們可以從資料庫中檢索所有學生資料,並將其傳遞給視圖來顯示:

public IActionResult Index()
{
    var students = _context.Students.ToList();
    return View(students);
}

這裡的Index方法會從資料庫中取得所有的學生資料,並將資料作為一個列表傳遞給Index視圖進行呈現。對應的視圖則會使用Razor語法來顯示這些資料:

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var student in Model)
        {
            <tr>
                <td>@student.Name</td>
                <td>@student.Age</td>
            </tr>
        }
    </tbody>
</table>

這段HTML表格將學生資料以表格形式顯示出來,每一行對應一個學生的名稱和年齡。

3. 小結

在這篇文章中,我們介紹了如何在ASP.NET Core中實現基本的Create與Read操作。通過控制器與視圖的協作,我們可以輕鬆地將新資料保存到資料庫中,並檢索並顯示現有資料。接下來,我們將深入探討CRUD操作中的Update和Delete,進一步完善資料的管理功能。


上一篇
Day_6 創建模型與資料庫連接
下一篇
Day_8 建立基本的CRUD操作裡面的UD
系列文
ASP.NET Core的終極奧義:從零到無敵30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言