onde devo colocar os arquivos de script js em um aplicativo mvc para que o jquery funcione bem?

o _layout.cshtml possui linhas de código

@Scripts.Render("~/bundles/jquery")    
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr") 

por padrão, eles são colocados dentro do<body> tags por MVC. Mas quando eu os deixo neste lugar algumas vezesjquery não funciona. então eu decidi colocar essas três linhas no<head> bloquear_layout.cshtml para que a página coloque estilos e arquivos de script no<head> como qualquer um faria comphp oujsp. O bom é que eu coloco esses arquivos em<head> todo meujquery começou a trabalhar novamente. Mas a maioria dos livros do MVC diz para colocar os scripts no<body> quadra.

Então, onde devo colocá-los?

postagem atualizada:

aqui está o meu arquivo de pacote configurável:

       public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery-ui-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.unobtrusive*",
                        "~/Scripts/jquery.validate*"));
}

aqui está o arquivo de layout:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>

    @Styles.Render("~/Content/css")


</head>
<body>
    @RenderBody()

    @Scripts.Render("~/bundles/jquery")   
    @Scripts.Render("~/bundles/jqueryui")   
    @Scripts.Render("~/bundles/modernizr")
    @RenderSection("scripts", required: false)
</body>
</html>

Aqui está a visão:

@{
    ViewBag.Title = "TestPage";
}

<h2>TestPage</h2>

<input type="submit" name="name" value="Click me" id="btn"/>
<div id="d1"></div>

<script type="text/javascript">
    $('#btn').click(function(){

        alert('clicked');

    });
</script>

aqui estávídeo para mostrar que o clique não funciona

questionAnswers(1)

yourAnswerToTheQuestion