Parece que há uma incompatibilidade entre os arquivos de exibição que algumas versões do Visual Studio geram automaticamente para você quando você o usa para criar um novo modelo. Eu encontrei esse problema usando o novo VS 2013 Community Edition e percorrendo o tutorial W3Schools em http://www.w3schools.com/aspnet/mvc_app.asp, mas os comentários acima indicam que não é um problema com as instruções do tutorial ou com um versão única do VS.
É verdade que você pode fazer a mensagem de erro desaparecer apenas removendo o
@Scripts.Render("~/bundles/jqueryval")
linha dos layouts de criação / edição que foram gerados automaticamente pelo Visual Studio.
Mas essa solução não aborda a causa raiz nem o deixa em um bom lugar para fazer mais do que terminar de percorrer o tutorial. Em algum ponto (provavelmente bem no início) do desenvolvimento de um aplicativo real, você vai querer acessar o código de validação jquery que a solução de comentário remove de seu aplicativo.
Se você usar o VS para criar um novo modelo para você, ele também criará um conjunto de cinco arquivos de visualização: Criar, Excluir, Detalhes, Editar e Índice. Duas dessas visualizações, Criar e Editar, destinam-se a permitir ao usuário adicionar / editar dados para os campos nos registros do banco de dados que fundamentam o modelo. Para essas visualizações em um aplicativo real, você provavelmente desejará fazer alguma validação de dados usando a biblioteca de validação jquery antes de salvar o registro no banco de dados. É por isso que o VS adiciona as seguintes linhas
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
ao fundo dessas duas visualizações e não de outras. O código gerado automaticamente está tentando disponibilizar a biblioteca de validação para essas visualizações, mas não para as outras.
O erro ocorre porque o VS não adiciona uma linha correspondente ao arquivo _Layout.cshtml compartilhado ou, veja uma resposta acima, adiciona-o, mas deixa como comentário. Esta linha é
@RenderSection("scripts", required: false)
Se algumas de suas visualizações têm uma seção de scripts (como Create e Edit têm), deve haver um comando RenderSection embutido no layout. Se alguns scripts têm a seção e outros não (como Delete, Details e Index não), o comando RenderSection precisa ter o required: false
parâmetro.
Portanto, a melhor solução, se você quiser fazer algo mais do que simplesmente terminar de percorrer o tutorial, é adicionar a instrução a _Layout.cshtml e não remover o código das visualizações Editar e Criar.
PS É um pouco confuso, aqui, que o que está sendo exigido está em um 'pacote' e a instrução require parece que está tentando incluir um arquivo em uma pasta de pacotes que não existe em seu projeto. Mas, para compilações de depuração e tutoriais, isso não é relevante, pois os arquivos agrupados são incluídos um de cada vez. Consulte: http://www.asp.net/mvc/overview/performance/bundling-and-minification O código que está em questão aqui é mencionado brevemente cerca de dois terços do caminho para baixo na página.