MVC error Скрипты не отображаются для страницы макета - PullRequest
0 голосов
/ 14 июля 2020

У меня есть приложение MVC, которое работает нормально. Я внес несколько незначительных изменений в один из контроллеров и теперь получаю следующую ошибку: Следующие разделы были определены, но не отрисованы для страницы макета "~ / Views / Shared / _Layout.cs html": " Скрипты ». Ошибка связана со страницей входа, на которой была следующая бритва:

section Scripts {
@Scripts.Render("~/bundles/jqueryval")}

(ошибка исчезнет, ​​если закомментировать это). У меня есть следующий пакет в моем файле bundlesConfig (и он «попадает», когда я отлаживаю приложение, и отображается как один из пакетов, когда я проверяю пакеты в окне просмотра).

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

I не могу понять, почему у меня возникла его проблема, поскольку она работала, и я не делал никаких сознательных изменений на странице входа или в bundlesConfig. (Файл global.asax включает строку BundleConfig.RegisterBundles (BundleTable.Bundles);)

1 Ответ

0 голосов
/ 16 июля 2020

Спасибо, мантан. Я видел это сообщение до того, как отправил вопрос, и это не помогло. Я наконец нашел решение из этого сообщения: [ссылка] [1]

Я добавил на свою страницу _Layout.cs html после рендеринга еще одну строку.

 <div class="container body-content">
    @RenderBody()
    @RenderSection("scripts", false)
 </div>

Когда я добавил @ Scripts.Render () на отдельные страницы, он искал @RenderSection на странице макета. Я до сих пор не понимаю, как это работало 4 года без этой строчки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...