iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
Software Development

ASP.NET MVC基礎修練:從菜開始系列 第 11

Day-11 ASP.NET MVC 之 ADO.NET 資料庫刪除功能

  • 分享至 

  • xImage
  •  

簡介

新聞管理系統中,新聞分類列表的每一列都包含一個名為"刪除"的連結。
這個連結的功能是用來刪除當前行的資料
要刪除新聞分類,只需要知道要刪除的新聞分類的ID即可。
這個ID將用於確定要刪除的特定分類,從而實現資料的精確刪除。

建立Delete 方法

在 NewsCategoryController 控制器中新增一個帶有 id 參數的 Delete() 方法
程式碼如下
https://ithelp.ithome.com.tw/upload/images/20230926/20106640WSe36Nl3uR.jpg

 public ActionResult Delete(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest);
            }

            // 刪除新聞分類的 SQL 語句
            string sql = $"delete from [NewsCategory] where id = {id}";

            DBHelper db = new DBHelper();

            // 執行刪除操作
            db.ExecuteNonQuery(sql);

            return RedirectToAction("Show");
        }

核心程式碼說明如下:

  1. int? 表示一個可為空的 int 類型,這意味著如果未傳遞 id 值,則可以傳遞 null 值,以避免出現錯誤。
  2. System.Net.HttpStatusCode.BadRequest:表示如果未傳遞 id 值,則會返回 HTTP 400 錯誤碼。
    用於根據新聞分類的ID來刪除相應的新聞分類信息。

增加刪除連結

在show.cshtml顯示列表中顯示一刪除連結的功能
https://ithelp.ithome.com.tw/upload/images/20230926/201066408BOL1fUv3K.jpg

@{
    ViewBag.Title = "新聞分類列表";
}
@model IEnumerable<MVC30dayAdoNet.Models.NewsCategory>
<h2>新聞分類列表</h2>

<div class="pull-right">
    <a href="/NewsCategory/Create">新增新聞分類</a>
</div>

<table class="table table-bordered">
    <tr>
        <td>分類Id</td>
        <td>分類名稱</td>
        <td>是否啟用</td>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>@item.id</td>
            <td>@item.Category</td>
            <td>@(item.IsEnabled ? "是" : "否")</td>
            <td>
                <a href="/NewsCategory/Delete/@item.id">刪除</a>
            
            </td>
        </tr>
    }
</table>

在這段程式碼中,我們為表格新增了一個欄位,
並在每一行都加入了"刪除"的連結。
這個連結直接指向了NewsCategoryController控制器的Delete()方法。

執行畫面如下
https://ithelp.ithome.com.tw/upload/images/20230926/20106640hX7qP3fwyZ.jpg

============================================================================
分享一個關於工程師的笑話
有個工程師年輕的時候,
立志要當一名偉大的作家。
怎麼才算偉大呢?
他說:我寫的東西全世界都要看到!
看完他們必定會歇斯底里!
會火冒三丈!會痛苦萬分!
結果,他成功了,
他在XX公司負責寫系統掛掉時會以藍色為背景來提示信息。


上一篇
Day-10 ASP.NET MVC 之 ADO.NET 資料庫顯示頁面
下一篇
Day-12 ASP.NET MVC 之 ADO.NET 資料庫編輯功能
系列文
ASP.NET MVC基礎修練:從菜開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言