MVC幾種找不到資源的問題解決辦法

2021-06-22 18:30:37 字數 1578 閱讀 2565

在mvc中,controller中的action和view中的.cshtml檔名稱有乙個對應的關係。

當不對應時,有以下幾種情況發生:

一、找不到檢視的錯誤

請求url:http://localhost:13850/customer/create

controller中有對應的action:

view中沒有相應的檢視

報錯資訊:

解決方式:在view中新增相應的view

二、找不到資源:

請求的url:http://localhost:13850/customer/index

controller裡沒有相應的action(有時候可能是在開發一段時間以後,修改了action的名字,卻沒有相應的修改view的名字,但是請求的url依然還是原來的導致的)

view裡有相應的檢視

錯誤資訊:

解決方式,就是指定乙個固定的「頁」,在找不到資源時顯示。具體如下:

asp.net mvc中的controller都是整合自controller這個抽象類,在這個類中,定義了乙個handleunknownaction 方法,左右就是在發生http 404時,進行處理。

那麼,我們可以在自己的controller裡重寫這個方法。

這樣,在每次找不到相應的action時,都能執行這個方法。去呼叫相應的view。

微軟提供的方式是:

protected

override

void handleunknownaction(string actionname)

catch (invalidoperationexception ieox )

} 也就是,輸出錯誤頁。

當然這也存在乙個隱患,如果出現下面【三】的情況時,也就是只宣告了乙個http.post的方法,沒有相應的http.get的同名方法,也能把通過這種方式,把頁面載入出來。

怎麼解決呢?答案就是:直接response.redirect("/",true),回到首頁。

三、找不到資源:

請求url:http://localhost:13850/customer/details

controller中的對應action,定義為http post,且沒有對應的http get的action

view中有對應的檢視

報錯資訊:

解決方式:加入乙個同名action,定義為http get:[acceptverbs(httpverbs.get)]

MVC幾種找不到資源的問題解決辦法

在mvc中,controller中的action和view中的.cshtml檔名稱有乙個對應的關係。當不對應時,有以下幾種情況發生 一 找不到檢視的錯誤 請求url http localhost 13850 customer create controller中有對應的action view中沒有相...

MVC幾種找不到資源的解決方式

在mvc中,controller中的action和view中的.cshtml檔名稱有乙個對應的關係。當不對應時,有以下幾種情況發生 一 找不到檢視的錯誤 請求url http localhost 13850 customer create controller中有對應的action view中沒有相...

Linux找不到共享庫問題解決

鏈結和執行檔案時,總會遇到cant find x.so的錯誤。我們需要將共享庫所在目錄加入到系統的掃面目錄。系統預設掃瞄目錄為 lib usr lib usr local lib,這三個目錄加入效果都一樣,只是因為規範問題所以有多個目錄。將 x.so檔案複製到上述目錄,在鏈結時系統就會自動進行尋找。...