Si 
(1) tiene una vista _Layout.cshtml como esta
<html>
    <body>
        @RenderBody()
    </body>
    <script type="text/javascript" src="~/lib/layout.js"></script>
    @RenderSection("scripts", required: false)
</html>
(2) tienes Contactos.cshtml 
@section Scripts{
    <script type="text/javascript" src="~/lib/contacts.js"></script>
}
<div class="row">
    <div class="col-md-6 col-md-offset-3">
        <h2>    Contacts</h2>
    </div>
</div>
(3) tienes About.cshtml  
<div class="row">
    <div class="col-md-6 col-md-offset-3">
        <h2>    Contacts</h2>
    </div>
</div>
En su página de diseño, si es necesario, se establece en falso "@RenderSection (" scripts ", requerido: falso)", cuando la página se representa y el usuario está en la página, los contactos.js no se procesan.
    <html>
        <body><div>About<div>             
        </body>
        <script type="text/javascript" src="~/lib/layout.js"></script>
    </html>
si se requiere se establece en verdadero "@RenderSection (" scripts ", requerido: verdadero)", Cuando la página se representa y el usuario está en la página ACERCA DE, se contacta TODOS los contactos .js.
<html>
    <body><div>About<div>             
    </body>
    <script type="text/javascript" src="~/lib/layout.js"></script>
    <script type="text/javascript" src="~/lib/contacts.js"></script>
</html>
EN CORTO, cuando se establece en verdadero , ya sea que lo necesite o no en otras páginas, se representará de todos modos. Si se establece en falso , solo se representará cuando se represente la página secundaria.
                 
                
Section not defined: "scripts".al representar tu página Acerca de cuando configures el marcador requeridotrue.Aquí la definición de Rendersection de
MSDNEn la página _layout.cs poner
Aquí representa el contenido de la sección bootom y especifica la
falsepropiedad booleana para especificar si la sección es obligatoria o no.Eso significa que si desea ir a la sección inferior en todas las páginas, debe usar falso como el segundo parámetro en el método Rendersection.
fuente
Supongamos que tengo GetAllEmployees.cshtml
Y otra vista "GetEmployeeDetails.cshtml" sin scripts
Y mi página de diseño "_layout.cshtml"
Entonces, cuando navego a GetEmployeeDetails.cshtml. Me sale el error de que no hay secuencias de comandos de sección para ser representados en GetEmployeeDetails.cshtml. Si cambio la bandera
@RenderSection()derequired : truea `` requerido: falso`. Significa renderizar los scripts definidos en los scripts @section de las vistas si están presentes. De lo contrario, no haga nada. Y el enfoque refinado estaría en _layout.cshtmlfuente