Виявляється, що між файлами View є невідповідність, яку деякі версії Visual Studio автоматично генерують для вас, коли ви використовуєте її для створення нової моделі. Я зіткнувся з цією проблемою, використовуючи нову версію спільноти VS 2013 та пройшовшись по навчальному посібнику W3Schools за адресою http://www.w3schools.com/aspnet/mvc_app.asp, але коментарі вище вказують на те, що це не проблема із вказівками щодо підручника чи з єдина версія VS.
Це правда , що ви можете зробити повідомлення про помилку зникне , тільки видалення
@Scripts.Render("~/bundles/jqueryval")
рядок з макетів створення / редагування, які були автоматично створені Visual Studio.
Але це рішення не стосується першопричини і не залишає вас в хорошому місці, щоб зробити більше, ніж закінчити прогулянку по підручнику. У якийсь момент (можливо, досить рано) у розробці реального додатка вам потрібно буде отримати доступ до коду перевірки jquery, який рішення коментування вилучає з вашої програми.
Якщо ви використовуєте VS для створення нової моделі для вас, вона також створює набір з п'яти файлів перегляду: Створити, Видалити, Деталі, Редагувати та Покажчик. Два з цих переглядів "Створити та редагувати" призначені для того, щоб користувач міг додавати / редагувати дані для полів у записах баз даних, що лежать в основі моделі. Для цих поглядів у реальному додатку, ймовірно, ви захочете зробити деяку кількість перевірки даних за допомогою бібліотеки перевірки jquery, перш ніж зберегти запис у db. Ось чому VS додає наступні рядки
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
внизу цих двох поглядів, а не інших. Автогенерований код намагається зробити бібліотеку перевірки доступною для цих представлень, але не для інших.
Помилка трапляється через те, що VS або не додає відповідного рядка до спільного файлу _Layout.cshtml, або, див. Одну відповідь вище, додає його, але залишає його прокоментованим. Ця лінія є
@RenderSection("scripts", required: false)
Якщо в деяких ваших переглядах є розділ сценаріїв (як створити та редагувати), у макет має бути команда RenderSection. Якщо в деяких сценаріях є розділ, а в деяких немає (як Видалити, Деталі та Індекс немає), команда RenderSection повинна мати required: false
параметр.
Тож найкращим рішенням, якщо ви хочете зробити щось більше, ніж просто закінчити прогулянку по підручнику, - це додати вислів до _Layout.cshtml, а не видаляти код із перегляду «Правка та створення».
PS Тут трохи плутанина, що те, що потрібно, знаходиться у «пакеті», а оператор вимагає виглядати так, що він намагається включити файл у папку пакетів, яка не існує у вашому проекті. Але для налагодження і підручників це не актуально, оскільки пакетні файли включаються один за одним. Дивіться: http://www.asp.net/mvc/overview/performance/bundling-and-minification Код, про який йдеться, згадується коротко про дві третини шляху вниз по сторінці.