如何从JavaScript代码向VB.NET方法发送参数?

时间:2009-09-03 12:26:44

标签: javascript vb.net

我有vb.net方法,我从JS代码调用它我不能发送参数到这个方法,这里是示例: JS代码:

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

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

5 个答案:

答案 0 :(得分:1)

实际上你可以用“简单”的方式做到这一点:

向您的页面添加隐藏的LinkBut​​ton:

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

然后在你的javascript:

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

然后在代码隐藏中:

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 :(得分:0)

没有简单的方法可以做到这一点。

您最好的办法是创建一个Web服务调用,并让Javascript使用ASP.NET Ajax调用Web服务。

Here是一种方法。

答案 2 :(得分:0)

是否可以执行类似

的操作

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

答案 3 :(得分:0)

您是否可以使用.net 3.5中内置的ajax库并将您的方法标记为Web方法

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

然后使用javascript调用该方法。

PageMethods.SaveParamsData(ReportItemPramName, MyMethod_Result);

答案 4 :(得分:0)

嗯,你能不能让javascript将数据发回页面。然后检查页面加载是否有postdata,如果有,则保存