Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将长代码的JavaScript数组传递给代码隐藏?_Javascript_Vb.net_Arrays_Activex_Object - Fatal编程技术网

将长代码的JavaScript数组传递给代码隐藏?

将长代码的JavaScript数组传递给代码隐藏?,javascript,vb.net,arrays,activex,object,Javascript,Vb.net,Arrays,Activex,Object,我已经从签名设备返回了这个对象,当我快速观察它时,它告诉我它是一个长数组,当我在我的代码隐藏(vb.net)中将它传递给web方法时,它什么也没有给我。 我需要一些帮助。。 注意:我正在使用activeX从设备捕获签名 这是javascript代码: function OnSave() { var sign = document.FORM1.SigPlus1.SignatureString; PageMethods.Save(sign); } 这是我的webmethod

我已经从签名设备返回了这个对象,当我快速观察它时,它告诉我它是一个长数组,当我在我的代码隐藏(vb.net)中将它传递给web方法时,它什么也没有给我。 我需要一些帮助。。 注意:我正在使用activeX从设备捕获签名

这是javascript代码:

function OnSave() {
    var sign = document.FORM1.SigPlus1.SignatureString;
    PageMethods.Save(sign);
    }
这是我的webmethod:

<WebMethod()> _
Public Shared Function Save(ByVal obj As Object) As String

    Dim obj1 As New PFSIGNATURELib.SigniShellSignature
    obj1.SignatureMime = obj
    obj1.SaveBitmapToFile(System.AppDomain.CurrentDomain.BaseDirectory() & "\sign1.bmp", 200, 200)

    Return "\sign1.bmp"
End Function
_
公共共享函数保存(ByVal obj作为对象)为字符串
Dim obj1作为新PFSIGNATURELib.SignatureShellSignature
obj1.SIGNATUREME=obj
obj1.SaveBitmapToFile(System.AppDomain.CurrentDomain.BaseDirectory()&“\sign1.bmp”,200200)
返回“\sign1.bmp”
端函数

我对ASP.Net了解不多,但似乎
PageMethods.Save
函数无法处理长数组。另一种可能性是,
符号
变量在javascript代码中为空

尝试添加

alert(sign);
在Javascript函数的中间,或者更好,安装firebug并执行以下操作

console.log(sign);
相反。通过这种方式,您将确保符号var实际上包含您认为它的功能

如果它确实包含一个数字数组(javascript没有
long
类型),那么在调用
PageMethods.Save
函数之前,可能需要将其转换为其他类型

例如,此javascript代码段将
符号
转换为以空格分隔的数字字符串:

s = ""
for (i in sign) {
    s += sign[i] + " ";
}
sign = s
如果您设法将此字符串传递给您的webmethod,则可以使用一些字符串解析来获取原始数组