iT邦幫忙

DAY 12
0

使用ASP.NET MVC 實作購物網站系列 第 12

使用ASP.NET MVC 實作購物網站 (十二) - Product的刪除功能

我們之前已經完成了Product的編輯功能,今天我們要來完成Product的刪除功能囉。

今日目標:
1. 完成刪除商品功能
2. 若使用者輸入錯誤刪除的Url請求,則導回Index頁面並顯示錯誤訊息
3. 修改使用Post操作來刪除商品

請依下列步驟操作:

1. Product Controller,新增Deleete()方法如下,基本上與編輯商品Edit大同小異,唯一差別是Delete我們不需要產生View,因為無論刪除是成功還是失敗,一律導回Index頁面。

2. 運行專案,針對某一項商品點選[刪除]

3. 可以看到成功刪除的畫面並顯示提示訊息

4. 如果我們在網址列中輸入一個不存在的商品id,例如剛剛刪除的6,則會顯示錯誤訊息[指定資料不存在,無法刪除,請重新操作]

5. 回到ProductController,我們在Delete()方法上方指定HttpPost

6. 此時如果操作刪除,則會得到下列錯誤訊息,這是由於原本Index頁面的Delete按鈕是使用Get操作,但由於我們剛剛將Delete()方法改為Post,所以伺服器找不到相對應的方法而產生錯誤。

7. 我們回到Index頁面,將原本使用ActionLink的刪除按鈕改為使用BeginForm(行25),並且將id設定為隱藏欄位(行27),按鈕改為直接使用HTML input元素,型態為submit

8. 各位可以重新刷新網頁,並且試試看刪除按鈕是否已經可以正常運作囉。

為什麼刪除需要使用Post呢?這是因為刪除是很重要的操作,如果使用者直接在網址列輸入網址就可以刪除的話,其實是很危險的一件事情,所以我們選擇使用Post來完成。

*今天的原始碼請參考這裡


上一篇
使用ASP.NET MVC 實作購物網站 (十一) - Product的編輯功能
下一篇
使用ASP.NET MVC 實作購物網站 (十三) - 會員功能
系列文
使用ASP.NET MVC 實作購物網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言