< /code>
и следующий код позади: < /p>
[System.Web.Services.WebMethod]
public static void GameEnd(string timeElapsed, string starsCollected, string deathCount, bool victory)
{
Play playPage = new Play();
playPage.ShowPanel(int.Parse(timeElapsed), int.Parse(starsCollected), int.Parse(deathCount), victory);
}
private void ShowPanel(int time, int stars, int deaths, bool victory)
{
Victory.Text = victory ? "VICTORY" : "DEFEAT";
DeathCounter.Text = "x" + deaths;
StarCounter.Text = "x" + stars;
TimeElapsed.Text = SecToMin(time);
EndPanel.Visible = true;
Session["game"] = new Game(PlayService.countGames(((Map)Session["map"]).mapID), (User)Session["user"], DateTime.Today, time, stars, deaths, victory);
}
< /code>
, который вызывается через следующий фрагмент Ajax (с помощью jQuery) в моем JS: < /p>
$.ajax({
type: "POST",
url: "Play.aspx/GameEnd",
data: JSON.stringify({ timeElapsed: Math.round(gameRuntime), starsCollected: score, deathCount: deaths, victory: win }),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
< /code>
У меня нет ошибок в компиляции, но во время выполнения я получаю NullReferenceException, для всех элементов управления панели и самой панели. По крайней мере, нет исключения. < /P>
if (Victory == null) Victory = new Label(); Victory.CssClass = "overlay";
if (DeathCounter == null) DeathCounter = new Label(); DeathCounter.CssClass = "overlay";
if (StarCounter == null) StarCounter = new Label(); StarCounter.CssClass = "overlay";
if (TimeElapsed == null) TimeElapsed = new Label(); TimeElapsed.CssClass = "overlay";
if (EndPanel == null)
{
EndPanel = new Panel();
EndPanel.CssClass = "container";
EndPanel.Controls.Add(Victory); EndPanel.Controls.Add(DeathCounter); EndPanel.Controls.Add(StarCounter); EndPanel.Controls.Add(TimeElapsed);
}
Я не могу получить, почему они вообще не являются нулевыми, невозможно обойти или решать проблему ...
< /code> и следующий код позади: < /p> [System.Web.Services.WebMethod] public static void GameEnd(string timeElapsed, string starsCollected, string deathCount, bool victory) { Play playPage = new Play(); playPage.ShowPanel(int.Parse(timeElapsed), int.Parse(starsCollected), int.Parse(deathCount), victory); } private void ShowPanel(int time, int stars, int deaths, bool victory) { Victory.Text = victory ? "VICTORY" : "DEFEAT"; DeathCounter.Text = "x" + deaths; StarCounter.Text = "x" + stars; TimeElapsed.Text = SecToMin(time); EndPanel.Visible = true; Session["game"] = new Game(PlayService.countGames(((Map)Session["map"]).mapID), (User)Session["user"], DateTime.Today, time, stars, deaths, victory); } < /code> , который вызывается через следующий фрагмент Ajax (с помощью jQuery) в моем JS: < /p> $.ajax({ type: "POST", url: "Play.aspx/GameEnd", data: JSON.stringify({ timeElapsed: Math.round(gameRuntime), starsCollected: score, deathCount: deaths, victory: win }), contentType: "application/json; charset=utf-8", dataType: "json" }); < /code> У меня нет ошибок в компиляции, но во время выполнения я получаю NullReferenceException, для всех элементов управления панели и самой панели. По крайней мере, нет исключения. < /P> if (Victory == null) Victory = new Label(); Victory.CssClass = "overlay"; if (DeathCounter == null) DeathCounter = new Label(); DeathCounter.CssClass = "overlay"; if (StarCounter == null) StarCounter = new Label(); StarCounter.CssClass = "overlay"; if (TimeElapsed == null) TimeElapsed = new Label(); TimeElapsed.CssClass = "overlay"; if (EndPanel == null) { EndPanel = new Panel(); EndPanel.CssClass = "container"; EndPanel.Controls.Add(Victory); EndPanel.Controls.Add(DeathCounter); EndPanel.Controls.Add(StarCounter); EndPanel.Controls.Add(TimeElapsed); } [/code] Я не могу получить, почему они вообще не являются нулевыми, невозможно обойти или решать проблему ...