2009-09-07 7 views
2

私は署名デバイスからオブジェクトを返しました。私はそれを素早く見て、それは長い配列で、私はコードをWebメソッド(vb.net)に渡すと、それは私に何も与えません。 私はいくつかの助けが必要です.. 注:私はデバイスから署名をキャプチャするためにactiveXを使用しています。これは私のWebMethod属性であるコードの背後に長いJavaScript配列を渡していますか?

function OnSave() { 
    var sign = document.FORM1.SigPlus1.SignatureString; 
    PageMethods.Save(sign); 
    } 

この

はjavascriptのコードである

<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 

答えて

1

私はASP.Netについて多くを知らないが、PageMethods.Save機能を扱うことができないように思えますlongの配列。別の可能性は、sign変数がjavascriptコードでヌルであることです。

てみてください、あなたのJavascript機能、またはより良いまだ途中で

alert(sign); 

を追加し、放火犯をインストールし、代わりに

console.log(sign); 

を行います。この方法で、あなたはあなたが思うものが実際に含まれているかどうかをvarに確かめます。

実際に数字の配列(javacriptにはlongタイプがありません)が含まれている場合は、PageMethods.Save関数を呼び出す前に別の値に変換する必要があります。例えば

、このJavaScriptスニペットは、数字のスペースで区切られた文字列にsignに変換されます:あなたは、あなたのWebMethod属性にこの文字列を渡すために管理する場合は、あなたが戻って取得するために解析し、いくつかの文字列を使用することができます

s = "" 
for (i in sign) { 
    s += sign[i] + " "; 
} 
sign = s 

元の配列。

関連する問題