ich meine Anwendungen geändert, so eine andere Seite geladen werden würde, wenn lief aber jetzt bekomme ich die FehlerSeitenreihenfolge geändert und jetzt getContext ist Null
Unable Eigenschaft ‚getContext‘ undefinierten oder NULL-Verweis erhalten
Es verursacht noch keine Probleme, aber ich hoffe, es vorher zu beheben.
Wenn Sie online suchen, geschieht dies normalerweise, wenn ein <canvas>
-Tag vor einem <script>
-Tag steht, aber ich kann nicht finden, wo dies vorkommt.
@using Application.Models;
@using Newtonsoft.Json;
@{
User user = ViewBag.User;
}
@if (ViewBag.Loader)
{
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<title>@ViewBag.Title - Application Title</title>
<script id="userData" class="userData" type="application/json" data-accurate-up-to="@user.AccurateUpTo">
@Html.Raw(JsonConvert.SerializeObject(user, Newtonsoft.Json.Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }))
</script>
@Styles.Render("~/Styles/lib")
@Styles.Render("~/Styles/css")
@Scripts.Render("~/Scripts/lib")
</head>
<body>
<!-- Navbar -->
<div id="nav">
<div id="smallLogoHolder">
<img id="smallLogo" src="~/Images/sidewaysLogo.png" />
</div>
<div id="navContents">
<div id="logoHolder">
<img id="logo" src="~/Images/logo.png">
<div id="slogan">Application Name<div id="dayOTheYear"></div></div>
<script>
setInterval(function() {
$("#dayOTheYear").text("(Day: " + moment().dayOfYear() + ")");
}, 1000 * 10);
$("#dayOTheYear").text("(Day: " + moment().dayOfYear() + ")");
</script>
</div>
<ul id="menu">
<a href="~/Page 1"><li class="navItem @if (ViewBag.Title == "Page 1") { @("activeNavItem"); }">Page 1</li></a>
<a href="~/Page 2"><li class="navItem @if (ViewBag.Title == "Page 2") { @("activeNavItem"); }">Page 2</li></a>
<a href="~/Page 3"><li class="navItem @if (ViewBag.Title == "Page 3") { @("activeNavItem") ; }">Page 3</li></a>
<a href="~/Page 4"><li class="navItem @if (ViewBag.Title == "Page 4") { @("activeNavItem") ; }">Page 4</li></a>
</ul>
<div id="userSection">
<div id="loginSection">
<div id="loginSectionPic" style="background-image: url(@("path" + User.Identity.Name.Replace("DOMAIN","").Replace("/","").Replace("\\","")))"></div>
<div id="loginSectionContent">
<span id="user">@User.Identity.Name.Replace(@"DOMAIN\", "")</span>
<span id="userType">
@if (user.SecurityGroup.Name != "N/A")
{
@("(" + user.SecurityGroup.Name + ")")
}
else
{
@("(No Role)")
}
</span>
<div><span id="switchUserButton">Switch User</span> | <span id="logoutButton">Logout</span></div>
</div>
</div>
</div>
</div>
</div>
<div class="dialog notificationDialog">
<h2 class="dialogHeader">My Title</h2>
<div class="notificationMeta">Sent by <span class="notificationSubmittedBy"></span><br /><span class="notificationSubmittedTime"></span></div>
<div class="notificationText">
</div>
<input type="button" class="markRead" value="Mark As Read" />
<input type="button" class="closeNotification" value="Close" />
</div>
@RenderBody()
<div id="content">
<span id="loadingMessage">Loading...</span> <img id="dataLoadingGif" src="~/Images/loader.gif" />
<script>
$(window).load(function() {
$.get("@Request.Url.ToString()?loader=0", function (markup) {
$("#loadingMessage").text("Rendering...");
setTimeout(function() {
$("#content").html(markup);
}, 200);
}).fail(function (response) {
console.log(response);
$("#loadingMessage").html("<span style='color:red'>Failed</span><br/><br/>");
$("#dataLoadingGif").remove();
$("#content").append('<iframe id="yellowScreenOfDeathHolder" style="display:block; width:100%; height: 1000px;"></iframe>');
$("#yellowScreenOfDeathHolder").contents().find("html").html(response.responseText);
})
});
</script>
</div>
</body>
</html>
}
else
{
<div id="title">
@ViewBag.Title
@if (ViewBag.Title == "Page 2" || ViewBag.Title == "Page 3")
{
<span class="areaTitle"> - All Areas</span>
}
else if(ViewBag.Title == "Page 1" || ViewBag.Title == "Page 4")
{
if (((User)ViewBag.User).Area != null)
{
<span class="areaTitle"> - @(((User)ViewBag.User).Area.Name)</span>
}
else
{
<span class="areaTitle"> - All Areas</span>
}
}
</div>
@RenderBody()
@Scripts.Render("~/Scripts/app")
}
Das ist mein Layout.cshtml
und wir haben hier nichts geändert wurde, alles, was ich tat, war einige Informationen ändern in meinem RouteConfig.cs
auf eine andere Seite zu gehen. Der Grund, warum ich Layout.cshtml
verknüpft ist, weil, wenn das Programm lief es durch Laden bekommt Layout.cshtml
und sagt mir dann ist .getContext
null innerhalb des jquery
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{action}/{id}",
defaults: new { controller = "Home", action = "Page 2", id = UrlParameter.Optional }
Alles, was hier geändert wurde Page 2
verwendet Page 1
sein, könnten die <canvas>
Elemente auf Page 1
verursacht die Probleme?
Update:
Nach einem weiteren Untersuchung der Fehler zurückgibt auf der @Scripts.Render("~/Scripts/app")
Linie so frage ich mich, ob dieses Skript sollte an anderer Stelle genannt werden. Wo wäre ein besserer Ort, um es zu nennen?