1
Vote

Некорректная вставка тегов <html>, <body> в представления страниц-ошибок при визуализации

description

В проекте использую Visual Studio 2017, MVC 5, .NET 4.5.2.

После установки и настройки пакета имеется следующая проблема. При выполнении метода действия контроллера ErrorController, например Http404(), все содержимое соответствующего представления (в данном случае содержимое файла Http404.cshtml) дополнительно оборачивается в теги <html>, <body>, <pre>. И если представление в разметке является полной html страницей, уже имеет теги <html> и <body> или использует мастер-страницу с <html> и <body>, то в браузере, фактически, выводится содержимое разметки. Все содержимое интерпретируется как просто текст, а не html.

Т.е. для представления вида (разметка в файле Http404.cshtml):
<html>
    <head></head>
    <body>
        <div>
            <h2>404</h2>
            <p>Page not found!</p>
        </div>
    </body>
</html>
В браузере получим приблизительно такое:
<html>
    <head></head>
    <body>
        <pre style="word-wrap: break-word; white-space: pre-wrap;">
            <html>
                <head></head>
                <body>
                    <div>
                        <h2>404</h2>
                        <p>Page not found!</p>
                    </div>
                 </body>
             </html>
      </pre>
   </body>
</html>
А для представления вида (разметка в файле Http404.cshtml):
<div>
   <h2>404</h2>
   <p>Page not found!</p>
</div>
В браузере получим корректную разметку, приблизительно такое:
<html>
    <head></head>
    <body>
        <div>
            <h2>404</h2>
            <p>Page not found!</p>
        </div>
    </body>
</html>
Таким образом, мастер-страницу для страниц ошибок добавить не получается. Если это связано с работой пакета, рассмотрите пожалуйста это обращение.

file attachments

comments