如何从html输入按钮单击调用Windows Phone 8代码隐藏方法

时间:2013-05-31 10:29:13

标签: c# javascript windows-phone-8

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

JavaScript:

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

和mainpage.xaml中的c#方法

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

任何人都可以告诉我从java脚本调用c#代码隐藏方法的方法。即如何将变量从javascript传递到c#方法,反之亦然。

1 个答案:

答案 0 :(得分: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");

这些函数返回一个对象。

请务必通过设置MyWebBrowser.IsScriptEnabled = true;

,使您的网络浏览器与JavaScript配合使用