Si inspecciona la respuesta utilizando el violín, creo que encontrará que la página en blanco está devolviendo un código de estado 404. El problema es que no se está visualizando y, por lo tanto, la página en blanco.
En su lugar, podría obtener una vista real al agregar un elemento customErrors a su web.config que redirigirá al usuario a una url específica cuando se produce un determinado código de estado que luego puede manejar como lo haría con cualquier url . Aquí hay un recorrido por debajo:
Primero arroje el HttpException donde corresponda. Al crear una instancia de la excepción, asegúrese de usar una de las sobrecargas que toma un código de estado http como un parámetro como a continuación.
throw new HttpException(404, "NotFound");
A continuación, agregue un controlador de errores personalizado en el archivo web.config para que usted pueda determinar qué vista se deben representar cuando se produce la excepción anteriormente. He aquí un ejemplo a continuación:
<configuration>
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="~/404"/>
</customErrors>
</system.web>
</configuration>
Ahora añadir una entrada de ruta en su Global.asax que va a manejar la url "404", que hará llegar la petición a la acción de un controlador que va a mostrar la vista de su página 404 .
Global.asax
routes.MapRoute(
"404",
"404",
new { controller = "Commons", action = "HttpStatus404" }
);
CommonsController
public ActionResult HttpStatus404()
{
return View();
}
Todo lo que queda es añadir un punto de vista de la acción anterior.
Una advertencia con el método anterior: de acuerdo con el libro "Pro ASP.NET 4 en C# 2010" (Apress) el uso de customErrors no está actualizado si está utilizando IIS 7. En su lugar debe utilizar la sección httpErrors. He aquí una cita del libro:
But although this setting still works with Visual Studio’s built-in test web server, it’s effectively been replaced by the <httpErrors>
section in IIS 7.x.
no está sujeta a que el temor "404 demasiado corto" error en el IE? –