0

我们正在使用VS2008。我们正在调用作为 EXE 可执行文件创建的 ActiveX shell 脚本对象,它读取密码键盘进行身份验证并返回结果。此对象在 ASPX 页面中的 Javascript 中调用。

得到结果后,我们需要存储我们在页面后面用 C# 代码编写的信息。

我的问题是,我们应该如何调用 ASPX java 脚本中的代码或 WCF 服务。

我的java脚本代码如下:

  function launchExecutable(strdata) {

        try {
            var shellActiveXObject = new ActiveXObject("WScript.Shell");

            shellActiveXObject.Run("c:\\Test\\EBCK.exe " + strdata, 1, true);
        }
        catch (e) {
            alert(e.message);
        }

        try {
            var abc = window.clipboardData.getData('Text');
            // from here we have to call the C# code which is written in CS file or 
            // call a WCF Web service
        }
        catch (e) {
            alert(e.message);
        }

}

4

3 回答 3

1

要在 javascript 中调用 wcf 服务,请使用 ScriptManager。例如:

<asp:scriptmanager id="ScriptManager1" runat="server">
        <services>
            <asp:servicereference path="http://localhost:61586/Service1.svc">        
 </services> 

在上面的代码中,请注意 servicereference 设置为托管在另一个域上的 WCF 服务。

使用 makeCall:

function makeCall() {
                      var proxy = new JsonpAjaxService.Service1();
                     proxy.set_enableJsonp(true);
                     proxy.GetCustomer(onSuccess, onFail, null);
                 }

您可以使用onSuccess从服务调用中获取结果并显示数据。

function onSuccess(result) {
                 alert( result.Name + " " +result.Address);
             }

如果服务失败,您可以使用onFail 。

希望这可以帮助。

于 2012-07-26T12:17:07.990 回答
0

您可以在页面上添加脚本管理器

并使用该属性创建一个静态方法[webmethod]并从 JQuery 或 javascript 调用该方法

于 2012-07-25T06:26:37.297 回答
0

您可以将值存储在隐藏字段中并回发页面。回发页面时,在后面的代码中访问隐藏字段值。

<asp:Hidden Id="hid" value="" runat="server">

要在 javascript 中回发页面,请使用 __doPostback。

于 2012-07-25T06:02:46.540 回答