Uncaught ReferenceError: $ не определено в Power BI Embedded - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь встроить панель управления Power BI в свое приложение ASP.NET Core 2.1. Я получаю ошибку javascript при запуске этого приложения, говоря, что $ не определено. Я уже определил эту переменную в div, и я пытаюсь получить доступ к этому в сценарии. Вот мой код для index.cshtml.

@model WebApplication2.Models.EmbedConfig
    @{
        ViewBag.Title = "Dashboard";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }

    <script src="https://npmcdn.com/es6-promise@3.2.1"></script>
    <script src="~/js/powerbi.js"></script>
    @if (!string.IsNullOrEmpty(Model.ErrorMessage))
    {
        <div id="errorWrapper">
            <h2>
                Error
            </h2>
            @Model.ErrorMessage
        </div>

        return;
    }
    <br />

    <a href="javascript:void(0);" class="btn btn-primary" id="backLink">Back</a>
    <br /><br />

    <h2>Embedded Dashboard</h2>

    <br />

    <div id="dashboardContainer"></div>

    <script>

        var accessToken = "@Model.EmbedToken.Token";

        var embedUrl = "@Html.Raw(Model.EmbedUrl)";

        var embedDashboardId = "@Model.Id";

        var models = window['powerbi-client'].models;

        var config = {
            type: 'dashboard',
            tokenType: models.TokenType.Embed,
            accessToken: accessToken,
            embedUrl: embedUrl,
            id: embedDashboardId,

            settings: {
                background: models.BackgroundType.Transparent
            }
        };

        // Get a reference to the embedded dashboard HTML element
        var dashboardContainer = $('#dashboardContainer')[0];

        // Embed the dashboard and display it within the div container.
        var dashboard = powerbi.embed(dashboardContainer, config);
    </script>

Это мой Index.cshtml в моем приложении .net core 2.1. Я получаю сообщение о том, что $ не определено. Я четко определил dashboardContainer. Почему я получаю эту ошибку?

enter image description here

enter image description here

1 Ответ

0 голосов
/ 15 ноября 2018

Похоже, вам нужно включить jquery.Попробуйте вместо этого использовать классический javascript, чтобы убедиться, что это проблема.

Замените var dashboardContainer = $ ('# dashboardContainer') [0];с переменной dashboardContainer = document.getElementById ("dashboardContainer");

...