将字符串数组从c#传递到javascript

将字符串数组从c#传递到javascript,c#,javascript,C#,Javascript,我正在用c#构建两个数组,并将它们传递给一个js函数,如下所示: //call js to show the map with the markers string[] lats = new string[10]; string[] longs = new string[10]; for (int i = 0; i < 10; i++) { lats[i] = dv[i]["L

我正在用c#构建两个数组,并将它们传递给一个js函数,如下所示:

            //call js to show the map with the markers
        string[] lats = new string[10];
        string[] longs = new string[10];

        for (int i = 0; i < 10; i++)
        {
            lats[i] = dv[i]["Latitude"].ToString();
        }

        for (int i = 0; i < 10; i++)
        {
            longs[i] = dv[i]["Longitude"].ToString();
        }

        StringBuilder sbLats = new StringBuilder();
        string[] latsArray = lats.ToArray<string>();

        //Build the JS array.
        sbLats.Append("[");
        for (int i = 0; i < latsArray.Length; i++)
        {
            sbLats.AppendFormat("'{0}', ", latsArray[i]);

        }
        sbLats.Append("]");

        StringBuilder sbLongs = new StringBuilder();
        string[] longsArray = longs.ToArray<string>();

        //Build the JS array.
        sbLongs.Append("[");
        for (int i = 0; i < longs.Length; i++)
        {
            sbLongs.AppendFormat("'{0}', ", longsArray[i]);

        }
        sbLongs.Append("]");


        ScriptManager.RegisterStartupScript(this, this.GetType(), "mapMarket", "buildMapWithMarkers('map_market', " + latsArray + ", " + longsArray + ", " + "false" + ");", true);
上面说:

Uncaught SyntaxError: Unexpected token ]

你能告诉我哪里错了吗?

用@Skilwz建议(
JavaScriptSerializer
)解决了这个问题:

//调用js显示带有标记的地图
字符串[]lats=新字符串[10];
字符串[]长=新字符串[10];
对于(int i=0;i<10;i++)
{
lats[i]=dv[i][“纬度”].ToString();
}
对于(int i=0;i<10;i++)
{
longs[i]=dv[i][“经度”].ToString();
}
string serializedLat=(新的JavaScriptSerializer()).Serialize(lats);
string serializedLong=(新的JavaScriptSerializer()).Serialize(longs);
ScriptManager.RegisterStartupScript(this,this.GetType(),“mapMarket”,“buildMapWithMarkers('map_market',“+serializedLat+”,“+serializedLong+”,“+“false”+”;”,true);

使用@Skilwz建议解决了这个问题(
JavaScriptSerializer
):

//调用js显示带有标记的地图
字符串[]lats=新字符串[10];
字符串[]长=新字符串[10];
对于(int i=0;i<10;i++)
{
lats[i]=dv[i][“纬度”].ToString();
}
对于(int i=0;i<10;i++)
{
longs[i]=dv[i][“经度”].ToString();
}
string serializedLat=(新的JavaScriptSerializer()).Serialize(lats);
string serializedLong=(新的JavaScriptSerializer()).Serialize(longs);
ScriptManager.RegisterStartupScript(this,this.GetType(),“mapMarket”,“buildMapWithMarkers('map_market',“+serializedLat+”,“+serializedLong+”,“+“false”+”;”,true);

可能重复的请注意,我不想传递JSON,而是传递字符串的简单数组。可能重复的请注意,我不想传递JSON,而是传递字符串的简单数组。
Uncaught SyntaxError: Unexpected token ]
 //call js to show the map with the markers
        string[] lats = new string[10];
        string[] longs = new string[10];

        for (int i = 0; i < 10; i++)
        {
            lats[i] = dv[i]["Latitude"].ToString();
        }

        for (int i = 0; i < 10; i++)
        {
            longs[i] = dv[i]["Longitude"].ToString();
        }


        string serializedLat = (new JavaScriptSerializer()).Serialize(lats);
        string serializedLong = (new JavaScriptSerializer()).Serialize(longs);

        ScriptManager.RegisterStartupScript(this, this.GetType(), "mapMarket", "buildMapWithMarkers('map_market', " + serializedLat + ", " + serializedLong + ", " + "false" + ");", true);