2012-02-08 17 views
22

Mogę spotkać się z sytuacjami, kiedy muszę po prostu zwrócić nieprawidłowy wynik żądania.Powracający pusty ActionResult

Istnieje na przykład wywołanie akcji kontrolerów witryny MVC 3, ale w żądaniu uri brakuje wymaganego parametru.

Co zwracam w odpowiedzi. Wiem, że mogę to zrobić:

Response.StatusCode = (int)HttpStatusCode.BadRequest; 
return Content(string.Empty); 

Czy to jest właściwy sposób na wyżej opisaną sytuację?

+13

Na przyszłość, nie ma 'typ EmptyResult'. – scottm

+0

'return new EmptyResult();' odnośnie komentarza @ scottm. –

Odpowiedz

32

Twoje rozwiązanie będzie działać OK, ale bardziej klarowny sposób będą korzystać HttpStatusCodeResult klasę, tak:

return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
+4

Nie trzeba przesyłać kodu statusu do int. Po prostu zwróć nowy HttpStatusCodeResult (HttpStatusCode.BadRequest); – JMS10

+9

To rozwiązanie nie jest równoznaczne z kodem autora. Domyślnie HttpStatusCodeResult powoduje, że IIS zwraca domyślną stronę błędu HTML z opisem błędu, ale nie pustą treścią. – dlxeon

Powiązane problemy