2014-06-09 18 views
7

Próbuję zwrócić kod statusu 404 z moją niestandardową stroną błędu. Jednak nadal otrzymuję 200 z powrotem, ponieważ strona rzeczywiście istnieje, o ile przeglądarka i serwer mogą powiedzieć.Zwracanie niestandardowej strony 404 z kodem statusu 404 w MVC?

Co staram tak daleko jest:

<customErrors mode="On" defaultRedirect="~/404" > 
    <error statusCode="404" redirect="~/404"/> 
</customErrors> 

gdzie 404 to droga do „nie znaleziono strony” kontrolera i działania.

Próbowałem również ustawić StatusCode z moim działaniu ..

public ActionResult PageNotFound(string locale) 
{ 
    Response.StatusCode = 404; 
    return View(); 
} 

Ale to po prostu kończy się wyświetleniem strony błędu domyślny serwer (szary-owski jednego z tekstu komunikatu o błędzie czerwony)

Jakieś pomysły na obejście tego problemu?

+0

It wygląda na to, że twoje pytanie może już mieć odpowiedź tutaj: http: // stackove rflow.com/questions/5635114/returning-404-error-asp-net-mvc-3 –

Odpowiedz

7

miałem ten sam problem i roztwór pisał here:

public ActionResult NotFound() 
{ 
    Response.StatusCode = 404; 
    Response.TrySkipIisCustomErrors = true; <--- 
    return View(); 
}