Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
如何在phonegap windows phone中从javascript调用c#代码_Javascript_Windows Phone 7_Cordova - Fatal编程技术网

如何在phonegap windows phone中从javascript调用c#代码

如何在phonegap windows phone中从javascript调用c#代码,javascript,windows-phone-7,cordova,Javascript,Windows Phone 7,Cordova,你好,我是windows phone fresher。有人能告诉我如何在Phonegap(windows mobile)中调用javascript中的C#方法吗?谢谢 我收到以下错误 错误:“无法找到命令::MyCommand” 这是我的代码隐藏文件 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Wind

你好,我是windows phone fresher。有人能告诉我如何在Phonegap(windows mobile)中调用javascript中的C#方法吗?谢谢

我收到以下错误

错误:“无法找到命令::MyCommand”

这是我的代码隐藏文件

using System;
using System.Collections.Generic;
using System.Linq; using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.IO;
using System.Windows.Media.Imaging;
using System.Windows.Resources;
using WP7CordovaClassLib.Cordova.Commands;
namespace CSharpToJS
{
public partial class MainPage : PhoneApplicationPage
{
    // Constructor
    public MainPage()
    {
        InitializeComponent();
    }

    private void GapBrowser_Loaded(object sender, RoutedEventArgs e)
    {

    }

}
namespace WP7GapClassLib.PhoneGap.Commands
{
    public class MyCommand : BaseCommand
    {
        public void DoThis(string args)
        {
            // TODO: 
        }
    }
}
}
这是我的Index.html文件:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, height=device-height, initial-    scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Cordova WP7</title>
<link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8" />
<script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>
<script type="text/javascript">
    document.addEventListener("deviceready", onDeviceReady, false);
    // once the device ready event fires, you can safely do your thing! -jm
    function onDeviceReady() {
        document.getElementById("welcomeMsg").innerHTML += "Cordova is ready! version=" + window.device.cordova;
        console.log("onDeviceReady. You should see this message in Visual Studio's output window.");
        var args = { "message": "whatever" };
        Cordova.exec(null, null, "MyCommand", "DoThis", args);
    }
  </script>
 </head>
  <body>
 <h1>
    Hello Cordova</h1>
<div id="welcomeMsg">
</div>
</body>
</html>

科尔多瓦WP7
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//一旦设备就绪事件触发,您就可以安全地完成任务了-吉咪
函数ondevicerady(){
document.getElementById(“welcomeMsg”).innerHTML+=“Cordova准备就绪!version=“+window.device.Cordova;
log(“ondevicerady.You应该在VisualStudio的输出窗口中看到此消息。”);
var args={“message”:“whatever”};
Cordova.exec(null,null,“MyCommand”,“DoThis”,args);
}
你好,科尔多瓦

您应该能够使用和
PhoneGap.exec()
方法完成此操作

在c#中创建一个继承自BaseCommand的类(还必须使用此特定命名空间):

从Javascript调用此方法:

var args = {"message":"whatever"};    
PhoneGap.exec(null, null, "MyCommand", "DoThis", args);

您可以将Notify方法与ScriptNotify事件处理程序结合使用,如以下博文所述:-


不要将Java与Javascript混淆:)嗨,约翰逊,谢谢你,我尝试了上面的代码,但它产生了类似“phonegap未定义”的错误,我应该做些什么更改吗?我尝试这段代码时出错了,你能解释一下上面的代码吗?我出错了?提前谢谢你使用了确切的名称空间吗?耶,即使出现错误。我是否需要进行任何外部更改?谢谢。那么在调用该方法之前,您可能还没有定义args。这是基本的东西。我已经更新了我的答案。
var args = {"message":"whatever"};    
PhoneGap.exec(null, null, "MyCommand", "DoThis", args);