Error.cshtml是局部视图还是什么?

时间:2011-06-14 15:16:34

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-partialview

我正在重构所有部分视图以使用前导下划线命名约定(当我开始时不知道这个约定,不想偏离这种简单的约定)。但是我在\ Views \ Shared中遇到了生成的(razor,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属性设置为布局将使用它。这是什么交易?

1 个答案:

答案 0 :(得分: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包装元素的默认布局。 但它仍然是一种“正常”观点(不是部分观点)。