/ / Скриптът не е вмъкнат на страницата -

Скриптът не е вмъкнат на страницата -

Работя върху макет, в който трябва да фалшифицирам данните от една база данни и да ги изпратя в рамките на една json array към javascript. Въпреки това, не мога да го накарам да работи, аз последвах няколко урока и примери и изглежда, че ми липсва нещо.

Това е моят код в CodeBehind файл:

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);
}
}

Сценарият никога не се появява и аз го опитах RegisterStartupScript но това също не работи ...

В моята HTML страница включих следното в горната част: <%@ Page Language="C#" CodeBehind="Dashboard.aspx.cs" %>

Може ли някой да забележи проблема (те)? Всяка помощ е много ценена!

Отговори:

1 за отговор № 1

Въпросът е последният аргумент в RegisterClientScriptBlock методът е кръстен addScriptTags и тъй като сте го направили true, трябва да премахнете маркера на скрипта и да позволите на C # да добавите тези маркери за вас:

    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);

или просто задайте addScriptTags да се 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);

Другата малка промяна, която направих, е просто да добавите точка и запетая до края на кода на вашия js.