2010-02-10 50 views
1

讓我說,我有一個路由/行動顯示了這樣的內容網頁:ASP.NET MVC重定向到默認頁/路由內容不是發現

/Page/{slug} 

其中{}蛞蝓可以是任何一個訪客類型,但如果留空,它默認爲「默認」。

我有我的路由定義處理{slug}爲空或默認或其他任何事情,以便設置正常的情況。

現在,在請求的slug(例如Page)不存在的情況下,你會做什麼?

有人要求/ Page/xyz例如,我的數據存儲中不存在XYZ。我應該發出404(如果是這樣,怎麼辦?我的選項:a)重定向到默認的404頁面; b)沒有404響應,只是一個友好的錯誤信息?)

2)我應該自動重定向到默認?如果是這樣,我必須發出302,301或什麼?

我明白這是有爭議的,但仍然想就最好的準備有什麼意見。同時請提供幾行代碼,您將如何在ASP.NET MVC控制器操作中實現它。

回答

1

看到this話題,它包含了你的情況下,所有需要的信息

1

@zihotki已經掛了良好的頁面瞭解送什麼樣的響應代碼。要在ASP.NET MVC中發送它們,您需要在錯誤處理代碼中實例化錯誤控制器,並且您的響應應該適當地設置HttpResponse.StatusCode