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

本文关键字:是什么 视图 局部 cshtml Error | 更新日期: 2023-09-27 17:59:03

我正在重构我所有的局部视图,以使用前导下划线命名约定(刚开始时我不知道这个约定,不想偏离这样一个简单的约定)。但我在''Views''Shared中看到了生成的(razor,C#)"Error.cs.html"视图,我注意到它看起来可能是一个局部视图(没有html/body标记),但没有遵循惯例:

@model System.Web.Mvc.HandleErrorInfo
@{
    ViewBag.Title = "Error";
}
<h2>
    Sorry, an error occurred while processing your request.
</h2>

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

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

奇怪。我生成的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包装元素的默认布局。但这仍然是一种"正常"的观点(不是片面的)。