我正在重构所有部分视图以使用前导下划线命名约定(当我开始时不知道这个约定,不想偏离这种简单的约定)。但是我在\ 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
属性设置为布局将使用它。这是什么交易?
答案 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包装元素的默认布局。 但它仍然是一种“正常”观点(不是部分观点)。