我有一个站点,可以根据当前登录用户可以看到的商店动态创建两个Lat / Long值数组。如果用户只能看到一个位置,那么我得到一个关于数组长度需要是有限整数的错误。当我看到来源时,我看到了
var ls = new Array(45.056124);
正在页面上动态创建,这正是我所期待的。除了我认为它正在将其视为我试图设置数组的长度而不是将第一个元素设置为该值。
如何使用ClientScript.RegisterArrayDeclaration
函数创建数组以使用vb.net保存单个double值?
答案 0 :(得分:5)
尝试这样做:
var ls = [45.056124]; //sets it as an array of one value
答案 1 :(得分:1)
这是JavaScript的坏部分之一。 Array
构造函数,当传递一个Number
参数时(请记住,在JavaScript中所有数字文字是... Number
s),将数组初始化为预定义的长度。
这意味着:
var ls = new Array(45);
ls.length === 45; // This is true
当传递非整数Number
时,Array
constructor会抛出RangeError
,表明它不是有效长度。
根据经验,正如已经说过的那样,始终使用数组文字来创建数组:
var ls = [45.056124];
答案 2 :(得分:0)
the documentation of the RegisterArrayDeclaration
方法不能提供所有必要的信息吗?
您的特定数组如下所示:
Page.ClientScript.RegisterArrayDeclaration("ls", "45.056124")