Dr.*_*ari 5 c# cross-platform visual-studio xamarin xamarin.forms
我是Xamarin Cross平台应用程序开发的新手,使用VS 2015.我的主要要求是从javascript函数获取值到C#,所以我开始使用HybridWebView.在官方指南(link-1,link-2)的帮助下,我能够获得从javascript到C#的值.
但是,现在我不能够使用从C#调用JavaScript hybridWebView.Eval("jsFunction()"),提到这里,但它显示现在的错误-HybridWebView does not contain definition for Eval
HybridWebView.cs
namespace Medical_Study
{
public class HybridWebView : View
{
Action<string> action;
public static readonly BindableProperty UriProperty = BindableProperty.Create(
propertyName: "Uri",
returnType: typeof(string),
declaringType: typeof(HybridWebView),
defaultValue: default(string));
public string Uri
{
get { return (string)GetValue(UriProperty); }
set { SetValue(UriProperty, value); }
}
public void RegisterAction(Action<string> callback)
{
action = callback;
}
public void Cleanup()
{
action = null;
}
public void InvokeAction(string data)
{
if (action == null || data == null)
{
return;
}
action.Invoke(data);
}
}
}
Run Code Online (Sandbox Code Playgroud)
HybridWebViewPage.cs
namespace Medical_Study
{
public class HybridWebViewPageCS : ContentPage
{
public HybridWebViewPageCS()
{
var hybridWebView = new HybridWebView
{
Uri = "index.html",
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand
};
Padding = new Thickness(0, 20, 0, 0);
Content = hybridWebView;
}
}
}
Run Code Online (Sandbox Code Playgroud)
MCQ.xaml.cs
namespace Medical_Study
{
public partial class MCQ : ContentPage
{
public MCQ()
{
InitializeComponent();
//hybridWebView.RegisterAction(data => DisplayAlert("Alert", "Hello " + data, "OK"));
hybridWebView.RegisterAction(data => jsTest(data));
}
public void jsTest(string jsReturn)
{
Debug.WriteLine(jsReturn);
DisplayAlert("Test Title", "Test Message => " + jsReturn, "OK");
}
public void OnCallJavaScriptButtonClicked(object sender, EventArgs e)
{
// I am trying to trigger testFunction() but it's showing error - HybridWebView does not contain definition for Eval
hybridWebView.Eval("testFunction()");
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何在双方进行沟通(C#到JS和JS到C#)?
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |