2012-02-08 9 views
22

Puedo encontrar situaciones, cuando necesito simplemente devolver el resultado de una mala solicitud.Volviendo vacío ActionResult

Por ejemplo, hay una llamada a la acción de los controladores del sitio MVC 3, pero el parámetro requerido falta en una solicitud uri.

¿Qué debo devolver en respuesta? Sé que puedo hacer esto:

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

¿Es esta la manera correcta para la situación descrita anteriormente?

+13

Para referencia futura, hay un tipo 'EmptyResult'. – scottm

+0

'return new EmptyResult();' con respecto al comentario de @ scottm. –

Respuesta

32

Su solución funcionará bien, pero de forma más clara será usando HttpStatusCodeResult clase, así:

return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
+4

No es necesario convertir el código de estado en un int. Simplemente devuelva HttpStatusCodeResult nuevo (HttpStatusCode.BadRequest); – JMS10

+9

Esta solución no es equivalente para el código del autor. De forma predeterminada, HttpStatusCodeResult hace que IIS devuelva la página de error HTML predeterminada con la descripción del error, pero no el contenido vacío. – dlxeon

Cuestiones relacionadas