net mvc beginform asp asp.net-mvc ajax callback

asp.net mvc - beginform - ¿Cómo debe el servidor asp.net(mvc) devolver el error a jquery ajax call para que se detecte en la devolución de llamada de error?



mvc 5 ajax partial view (1)

Supongamos que tengo un método en mi controlador que se llama a través de una llamada jQuery AJAX. Por ejemplo, me gustaría borrar un usuario. Cuando todo va bien, devuelvo el nuevo Contenido ("ok") y salgo del método.

¿Qué debo hacer cuando ocurrió un error? Me gustaría indicarlo mediante un código de estado apropiado, de modo que mi llamada de error se llame. ¿Por qué código de estado? Lea aquí: ¿Cómo se activa la devolución de llamada "error" en una llamada jQuery AJAX utilizando ASP.NET MVC?

Sin embargo, el enfoque no funciona porque IIS7 devuelve su propio mensaje (solicitud incorrecta) en mi mensaje de error personalizado.

Además de que hay otras dos capturas:

  1. También tiene que trabajar con IIS6.
  2. IE8 no devuelve la cadena ''Solicitud errónea''. Dentro del error callback, la propiedad request.responseTest es nula.

El error en la devolución de llamada podría verse así: error: function (request) {alert (request.responseText);}


Establecer el Response.StatusCode es lo correcto a hacer. Para arreglar el manejo de errores "útil" de IIS, establezca la propiedad HttpResponse.TrySkipIisCustomErrors . Puedes leer más sobre esto here .