通用应用程序:从 javascript 调用 c# 方法
Universal apps: call c# method from javascript
几天以来,我一直在 Visual Studio 2015 年使用通用应用程序,我完全不知道如何在 class 中访问 c# 方法,因为没有 "WebMethod" -属性。
<script type="text/javascript">
function getWindowsDeviceUUID() {
//$.ui.popup({
// title: "methodcall",
// message: "trying to call methode"
//}
// );
$.ajax({
type: 'POST',
url: 'MainPage.xaml.cs/GetDeviceUUID',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (uuid) {
$.ui.popup({
title: "success",
message: "called method"
}
);
return uuid;
}
});
};
</script>
我已经用 ajax 试过了,但是没有调用 "GetDeviceUUID" 方法。但是 getWindowsDeviceUUID 是。
一些附加信息:
我已经有多个 JS 和 HTML 文件必须在此应用程序中使用。
我通过 WebView 控件打开 HTML-Sites。
亲切的问候
我认为你只需要改变逻辑。与其直接调用 class,不如在后面的代码中编写一个可以访问 class 的函数,然后使用 WebMethod 让您的函数使用 class。如果即使在后面的代码中也无法访问 class,则需要更改 class。
假设您的主机应用程序是 C#(并且您的 HTML 托管在 WebView 中),那么您可以通过调用 AddWebAllowedObject
method 注入 C# class 来公开 C# 方法,其中包括您要调用的方法。然后从脚本中,您可以通过 window.whatever-name-you-gave-it.some-method()
.
调用该方法
几天以来,我一直在 Visual Studio 2015 年使用通用应用程序,我完全不知道如何在 class 中访问 c# 方法,因为没有 "WebMethod" -属性。
<script type="text/javascript">
function getWindowsDeviceUUID() {
//$.ui.popup({
// title: "methodcall",
// message: "trying to call methode"
//}
// );
$.ajax({
type: 'POST',
url: 'MainPage.xaml.cs/GetDeviceUUID',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (uuid) {
$.ui.popup({
title: "success",
message: "called method"
}
);
return uuid;
}
});
};
</script>
我已经用 ajax 试过了,但是没有调用 "GetDeviceUUID" 方法。但是 getWindowsDeviceUUID 是。
一些附加信息: 我已经有多个 JS 和 HTML 文件必须在此应用程序中使用。 我通过 WebView 控件打开 HTML-Sites。
亲切的问候
我认为你只需要改变逻辑。与其直接调用 class,不如在后面的代码中编写一个可以访问 class 的函数,然后使用 WebMethod 让您的函数使用 class。如果即使在后面的代码中也无法访问 class,则需要更改 class。
假设您的主机应用程序是 C#(并且您的 HTML 托管在 WebView 中),那么您可以通过调用 AddWebAllowedObject
method 注入 C# class 来公开 C# 方法,其中包括您要调用的方法。然后从脚本中,您可以通过 window.whatever-name-you-gave-it.some-method()
.