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

It means that you have defined a section in your master Layout.cshtml, but you have not included anything for that section in your View.

If your _Layout.cshtml has something like this:

@RenderSection("scripts")

Then all Views that use that Layout must include a @section with the same name (even if the contents of the section are empty):

@{
    ViewBag.Title = "Title";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts{
    // Add something here
}

As an alternative, you can set required to false, then you won’t be required to add the section in every View,

@RenderSection("scripts", required: false)

or also you can wrap the @RenderSection in an if block,

@if (IsSectionDefined("scripts"))
{
    RenderSection("scripts");
}