Error.cshtml - это частичное представление или как? - PullRequest
0 голосов
/ 14 июня 2011

Я делаю рефакторинг всех своих частичных представлений, чтобы использовать ведущее соглашение об именах подчеркивания (я не знал об этом соглашении, когда начинал, не хочу отклоняться от такого простого соглашения). Но я наткнулся на сгенерированное (razor, C #) представление «Error.cshtml» в \ Views \ Shared и заметил, что похоже, что оно может быть частичным (без тегов html / body), но не соответствует соглашению :

@model System.Web.Mvc.HandleErrorInfo

@{
    ViewBag.Title = "Error";
}

<h2>
    Sorry, an error occurred while processing your request.
</h2>

Я также заметил, что он не определяет макет, но устанавливает свойство ViewBag.Title так, как если бы он собирался использоваться макетом. В чем дело?

1 Ответ

2 голосов
/ 14 июня 2011

Странно. Мой сгенерированный Error.cshtml выглядит как «нормальное» представление с телом HTML:

@{
    Layout = null;
}

<!DOCTYPE html>
<html>
<head>
    <title>Error</title>
</head>
<body>
    <h2>
        Sorry, an error occurred while processing your request.
    </h2>
</body>
</html>

Я думаю, что в вашем случае макет не имеет нулевого значения, поэтому будет использоваться макет по умолчанию, который содержит элементы переноса HTML. Но это все еще «нормальный» взгляд (не частичный).

...