2019/0613/MVC Part2 PhotoSharing ViewModel & ErrorHandle

#接續07_ViewModel

寫完CreateComment 與 delete

符合UX 調整 View 跟 controller

### 老師步驟

//step 4 建立討論主題與回覆功能
//step 4.1 建立CreateComment Action(Get及Post)
//step 4.2 建立CreateComment View(Empty-Without Model)
//step 4.3 在CreateComment View建立回覆表單
//step 4.4 在CreateComment View建立"回討論主題列表" ActionLink
//step 4.5 在Index View建立"回覆" ActionLink
//step 4.6 在Display View建立"回覆" ActionLink
//step 4.7 將CreateComment Action加入mode參數
//step 4.8 將"回覆" ActionLink加入mode參數(Index View)
//step 4.9 改寫CreateComment Action return時的判斷
//step 4.10 測試

//step 5 建立刪除回覆功能
//step 5.1 建立Delete Action
//step 5.2 在Index View建立"刪除" ActionLink
//step 5.3 在Display View建立"刪除" ActionLink
//step 5.4 測試

###ViewModel/Controllers/VMPhotoCommentsController.cs

###Views/VMPhotoComments/Index.cshtml

###Views/VMPhotoComments/Display.cshtml

###Views/VMPhotoComments/CreateComment.cshtml

#08_ErrorHandle 錯誤處理機制

###老師步驟

400錯誤 還沒到 通訊端就處理掉了 IIS處理

Webconfig 如果沒有設定組態就會繼承 IIS處理機制

還有別種類型的 如 發生例外

好的網站不能讓USER看到系統錯誤

接著我們要來自訂錯誤

首先要到 Webconfig 啟用自訂錯誤

<cutomErrors mode=”RemoteOnly”

RemoteOnly 遠端自訂錯誤 近端系統錯誤

###Webconfig

寫一個正式的控制

首先 先寫一個會觸發錯誤的acction

PhotosController.cs -> ExceptionDemo()

###Controllers/PhontosController.cs

接著講解了一下運作方式(錯誤機制的觸發) 等等會實際更改

Global.asax.cs

Filters.webconfig

自訂開發人員例外錯誤訊息

先寫 Error.cshtml

###Views/Shared/Error.cshtml

帶值近來讓開發人員看得值

要帶一個 model System.Web.Mvc.HandleErrorInfo

才能帶到錯誤訊息

但通常這個不能給人看到

自訂400系列錯誤訊息

所以改成有兩頁預設頁 ( 2 error

ExceptionError.cshtml

###Views/Shared/ExceptionError.cshtml

要去修改 filterConfig.cs

結果好像沒更改 = = ??

##不同層級去阻擋跑出錯誤訊息

例如去

Global.asax.cs 伺服器層級的組態定義

Habdleerrorattribute view = ???

這樣就會在這邊先導到新的那頁錯誤

Global.asax.cs

Filterconfig

都有寫的時候 ( 都有註冊時

會以 filterconfig 為主 類似 css 層級 越精緻 且 執行的時間後面

##那如果要讓兩個錯誤不同錯誤頁面那該怎辦 ?

註冊成 controller 或 action 層級的 即可

所以到 controller 裡面 的action[handleerror(view=”視圖名稱”)]

大部分頁面都要 就註冊 filterconfig

少數的 就註冊 action 層級的

整個 controller 的就寫在 controller 正向負向表列

接著新增了一個 httperror.cshtml

###Views/Shared/HttpError.cshtml

伺服器層級的錯誤400系列 一定要定義在 web.config

剛剛的問題 站食用根目錄的就好 找不出來

步驟在 photoscontroller

忘記這天的狀況,因為晚上有上在職班的課所以沒有很早走在趕專案進度,

結尾亂亂的忘記老師到底在哪時結尾

以上如果看不懂 或是有些頁面不知道就看老師步驟

### 老師步驟

Last updated

Was this helpful?