【发布时间】:2014-12-02 15:57:33
【问题描述】:
我编写这段代码是为了将数组从 asp.net 代码传递给 javascript:
aspx 文件:
<script type="text/javascript">
var loc_array;
var loc_array_two;
function AssignValues(loc, loc_two){
loc_arary= loc;
loc_array_two = loc_two;
alert(loc_array[0]);
}
</script>
aspx.cs 文件:
StringBuilder sb = new StringBuilder();
sb.Append("var loc = [");
foreach (var str in lb1) //lb1 is list
{
sb.Append("['" + str.Value1 + "','" + str.Value2 + "','" + str.Value3 + "'],");
}
sb.Append("];");
StringBuilder sb2 = new StringBuilder();
sb2.Append("var own = [");
foreach (var str2 in lb2) //lb2 is list
{
sb2.Append("['" + str2.Value1 + "','" + str2.Value2 + "','" + str2.Value3 + "'],");
}
sb2.Append("];");
if (lb1.Count > 0 && lb2.Count > 0)
{
string arrayStr1 = string.Format("[{0}]", sb.ToString().TrimEnd('{','}'));
string arrayStr2 = string.Format("[{0}]", sb.ToString().TrimEnd('{', '}'));
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "AssignValues(" + arrayStr1 + "," + arrayStr2 + ")", true);
}
创建的数组是[var loc = [['New York','33.6306686','73.1175653'],];] - 现在这个数组传递给javascript函数。但没有打印。谁能帮我解决这个问题。
【问题讨论】:
-
你应该更新你的帖子;显示 .cs 文件的整个方法(包括它的名称)。然后你如何从你的 .js 调用这个方法(可能是你的 ajax 调用)。是否曾经调用过 AssignValues(您的 js)?
-
@sander AssignValues 函数在没有参数的情况下工作正常。但是在将数组作为参数传递给这个函数时,它什么也没显示。
-
请尝试我之前的建议。您也没有传递任何数组,而是传递字符串。您可能想要的是 JSON,而且您很幸运,.NET 有将 JSON 发送到前端的方法! stackoverflow.com/questions/227624/…
标签: javascript c# asp.net arrays