1

我想从 windows phone 8 中的 html 页面调用 ac# 方法。目前我正在尝试使用以下代码,但它不起作用

JavaScript:

 <input id="Button1" type="button" value="button" onclick="window.external.something();" />

和我在 mainpage.xaml 中的 c# 方法

void something()
{
MessageBox.Show("called from javascript");
}

谁能告诉我从java脚本调用ac#代码背后方法的方法。即如何将变量从 javascript 传递给 c# 方法,反之亦然。

4

1 回答 1

3

您必须使用window.external.notify("string")并且必须ScriptNotify在后面的代码中注册浏览器的事件才能接收呼叫。

您以这种方式注册:

MyWebBrowser.ScriptNotify+=OnScriptNotify;

你这样消费:

OnScriptNotify(object sender, NotifyEventArgs e){
    //do something e.Value contains the string passed as a parameter
}

要执行相反的操作(从后面的代码中调用 JavaScript 中的函数),请执行以下操作:

MyWebBrowser.InvokeScript("functionName");
MyWebBrowser.InvokeScript("functionWithParam", "param1", "param2");

这些函数返回一个对象。

请务必通过设置使您的网络浏览器与 JavaScript 一起使用MyWebBrowser.IsScriptEnabled = true;

于 2013-05-31T10:32:29.380 回答