/ / Skript nebol vložený pri načítaní stránky - c #, javascript, html, asp.net, json

Skript nebol vložený na stránku načítanie - c #, javascript, html, asp.net, json

Pracujem na falošnej triede, kde musím falošne získavať údaje z databázy a odosielať ich v rámci json array do javascriptu. Nedokážem to však fungovať, nasledoval som niekoľko návodov a príkladov a vyzerá to, že mi niečo chýba.

Toto je môj kód v CodeBehind file:

public class Segment : System.Web.UI.Page
{
public int[,] GetAllSegments()
{
int[,] segments = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

return segments;
}

public void Page_Load(object sender, EventArgs e)
{
int[,] allSegments = GetAllSegments();

JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(allSegments);
string script = String.Format("<script type="text/javascript">var allSegments={0}</script>", json);
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", script, true);
}
}

Skript sa nikdy neobjaví, tiež som to vyskúšal RegisterStartupScript ale to nefunguje ...

Na mojej stránke HTML som na vrchole vložil tieto informácie: <%@ Page Language="C#" CodeBehind="Dashboard.aspx.cs" %>

Môže niekto nahlásiť problém (y)? Akákoľvek pomoc sa veľmi cení!

odpovede:

1 pre odpoveď č. 1

Ide o posledný argument v RegisterClientScriptBlock metóda je pomenovaná addScriptTags a pretože ste to nastavili na true, mali by ste odstrániť značku skriptu a nechať C # pridať tieto značky za vás:

    int[,] allSegments = GetAllSegments();

JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(allSegments);
string script = String.Format("var allSegments={0};", json);
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", script, true);

alebo len nastaviť addScriptTags na false:

        int[,] allSegments = GetAllSegments();

JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(allSegments);
string script = String.Format("<script type="text/javascript">var allSegments={0};</script>", json);
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", script, false);

Ďalšou menšou zmenou, ktorú som urobil, je pridanie bodkočiarky na koniec kódu js.