Controller.Execute рендеринг в виде текстового файла без типа содержимого

Когда происходит ошибка 404 или 500, страница отображается как текстовый файл. Тип содержимого в ответе пуст. Как я могу это исправить, чтобы содержимое отображалось как страница «текст/html».

 protected void Application_Error()
        {
            var context = new HttpContextWrapper(Context);
            if (!context.Request.IsAjaxRequest())
            {
                var unhandledException = Server.GetLastError();
                var httpException = unhandledException as HttpException;
                if (httpException == null)
                {
                    var innerException = unhandledException.InnerException;
                    httpException = innerException as HttpException;
                }

                var routeData = new RouteData();
                routeData.Values.Add("controller", MVC.Errors.Name);

                if (httpException != null)
                {
                    var httpCode = httpException.GetHttpCode();
                    switch (httpCode)
                    {
                        case (int)HttpStatusCode.NotFound:
                            routeData.Values.Add("action", "PageNotFound");
                            Server.ClearError();
                            IController pageNotFoundController = new ErrorsController();
                            pageNotFoundController.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
                            break;
                    }
                }
                else
                {
                    routeData.Values.Add("action", "Error");
                    Server.ClearError();
                    IController errorController = new ErrorsController();
                    errorController.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
                }
            }
        }

person Mike Flynn    schedule 05.12.2013    source источник


Ответы (1)


Я добавил это, и это исправлено.

if (!context.Request.IsAjaxRequest())
        {
            context.Response.ContentType = "text/html";
person Mike Flynn    schedule 05.12.2013