使用 [Authorize] 时出错

Error when using [Authorize]

我收到这个错误:

The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_Layout.cshtml": "Scripts".

我只有在家庭控制器上设置 [Authorize] 时才会出现此错误。

    [Authorize]
    public ViewResult Index()
    {
        return View();
    }

为了解决问题,我删除了 _layout 页面,除了这个:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 </head>
 <body>
     <div class="container body-content">
         @RenderBody()
     </div>
</body>
</html>

主页的索引视图就是这样的:

hello world

如果我删除 [Authorize],则没有错误。

您的原始视图声明了 "Scripts" 部分。您需要删除它或将此代码添加到您的布局页面:

@RenderSection("scripts", required: false)