在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檔案複製到上述目錄,在鏈結時系統就會自動進行尋找。...