【发布时间】:2018-11-14 16:43:29
【问题描述】:
我正在尝试将 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>
这是我的 .net core 2.1 应用程序中的 Index.cshtml。我收到一条错误消息,说 $ 未定义。我已经明确定义了dashboardContainer。为什么会出现此错误?
【问题讨论】:
-
"我已经在一个div中定义了这个变量"是什么意思?
-
这一行 var dashboardContainer = $('#dashboardContainer')[0];正在尝试获取对嵌入式仪表板 HTML 元素的引用
-
看起来您正在尝试使用 jQuery - 在此脚本之前,您是否检查过页面中包含 jQuery 脚本?
-
我将布局 _Layout.cshtml 包含在我的索引中。 _Layout.cshtml 包含 jQuery 脚本
标签: javascript asp.net-core-mvc asp.net-core-2.0 powerbi-embedded