Почему мои пользовательские js в комплекте не отображаются в пользовательском представлении MVC5 - PullRequest
1 голос
/ 13 мая 2019

Я хочу извлечь некоторый файл js и вызвать его только в одном представлении, отдельно от моих пакетов, который вызывается со страницы шаблона _LandingLayout.cshtml.

В моем BundleConfig.cs Iиметь

bundles.Add(new ScriptBundle("~/scripts/app/index").Include(
          "~/Scripts/App/home.js",
          "~/Scripts/App/location.js"
         ));

и мой взгляд примерно так:

@{
ViewBag.Title = "Home Page";
Layout = "~/Views/Shared/_LandingLayout.cshtml";
 }

 <!-- Main Content -->
  ...some html markup
 <!-- End of Main Content -->
@Scripts.Render("~/scripts/app/index")

каждый файл css и js из _LandingLayout.cshtml отображается правильно, если я поставлю "~ /scripts / app / index "в _LandingLayout.cshtml, он показывает правильно.

Но если я хочу отрисовать его отдельно от моего _LandingLayout.cshtml, он входит в файл js home.js и желтеет весь файл как отладчик(Я не вставил никакой отладчик в мой home.js), и когда я ввожу F10, я получаю ошибку:

0x800a1391 - Ошибка времени выполнения JavaScript: '$' не определено

Я искал эту ошибку и Я нахожу это Но я ссылался на jQuery lib.

Только то, что приходило мне в голову, что, возможно, движок отдает первую строку моего кода:

@Scripts.Render("~/scripts/app/index")

и позже отображает все пакеты из _LandingLayout.cshtml page?

1 Ответ

2 голосов
/ 13 мая 2019

вам нужно добавить новый раздел в представлении _LandingLayout.cshtml после всех файлов js, на которые есть ссылки. например, мы добавим раздел с именем "ExtraJs" после ссылки jquery следующим образом:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
@RenderSection("ExtraJs", false)

тогда внутри вашего представления вы можете ссылаться на этот раздел следующим образом

@{
ViewBag.Title = "Home Page";
Layout = "~/Views/Shared/_LandingLayout.cshtml";
 }

 <!-- Main Content -->
  ...some html markup
 <!-- End of Main Content -->

@section ExtraJs
{
  @Scripts.Render("~/scripts/app/index")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...