0

我正在重构我所有的部分视图以使用前导下划线命名约定(我开始时不知道这个约定,不想偏离这样一个简单的约定)。但是我在 \Views\Shared 中遇到了生成的(剃须刀,C#)“Error.cshtml”视图,我注意到它看起来可能是部分视图(没有 html / body 标签)但不遵循约定:

@model System.Web.Mvc.HandleErrorInfo

@{
    ViewBag.Title = "Error";
}

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

我还注意到它没有指定布局,而是将ViewBag.Title属性设置为好像它将被布局使用。这是怎么回事?

4

1 回答 1

2

奇怪的。我生成的 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>

我认为在您的情况下,布局未设置为 null,因此将使用包含 HTML 包装元素的默认布局。但这仍然是一个“正常”的观点(不是片面的)。

于 2011-06-14T15:23:58.133 回答