Tengo el método vb.net y lo llamo desde el código JS, no puedo enviar parámetros a este método y aquí está la muestra: Código JS:

function OnSave() 
    {
        var sign = document.FORM1.SigPlus1.Signature();
        <%Save(sign) %>
    }

Método VB:

Public Sub Save(ByVal obj As Object)
    Dim obj1 As New PFSIGNATURELib.SigniShellSignature
    obj1.SignatureBytes = obj
    obj1.SaveBitmapToFile(CurDir() & "\sign1.bmp", 200, 200)
    signImg.Src = CurDir() & "\sign1.bmp"

End Sub
1
Amr Elnashar 3 sep. 2009 a las 16:26

5 respuestas

La mejor respuesta

Bueno, en realidad puedes hacerlo de una manera "fácil":

Agregue un LinkButton oculto a su página:

<asp:LinkButton runat="server" id="MyPostBackHelper" style="display: none;" />

Luego en tu javascript:

function OnSave() 
{
    var sign = document.FORM1.SigPlus1.Signature();
    __doPostBack(<%= MyPostBackHelper.UniqueID %>, sign);
}

Y luego en el código detrás:

Public Sub MyPostBackHelper_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyPostBackHelper.Click
  Dim obj1 As New PFSIGNATURELib.SigniShellSignature
  obj1.SignatureBytes = Request.Form("__EVENTARGUMENT")
  obj1.SaveBitmapToFile(CurDir() & "\sign1.bmp", 200, 200)
  signImg.Src = CurDir() & "\sign1.bmp"
End Sub
1
Sani Singh Huttunen 3 sep. 2009 a las 13:17

Hmm, ¿no podrías hacer que el javascript vuelva a publicar los datos en la página? luego verifique si hay datos posteriores en la carga de la página, si los hay, guárdelos

0
zeocrash 9 sep. 2009 a las 10:31

¿No podría utilizar las bibliotecas ajax integradas en .net 3.5 y marcar su método como un método web?

       <WebMethod()> _
    Public Shared Function SaveParamsData
End sub

Luego use javascript para llamar a ese método.

PageMethods.SaveParamsData(ReportItemPramName, MyMethod_Result);
0
Antony Delaney 9 sep. 2009 a las 10:19

¿Es posible hacer algo como

<%Save(%>sign<%) %>?

0
Robert 3 sep. 2009 a las 13:09

No hay una manera fácil de hacerlo.

Su mejor opción es crear una llamada de servicio web y hacer que Javascript llame al servicio web usando ASP.NET Ajax.

Aquí es una forma de hacerlo.

0
David Basarab 3 sep. 2009 a las 12:33