通用应用程序:从javascript调用c#方法
本文关键字:调用 方法 javascript 应用程序 | 更新日期: 2023-09-27 18:07:51
几天以来,我一直在Visual Studio 2015中使用通用应用程序,我完全不知道如何在类中访问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"方法没有被调用。然而gettwindowsdeviceuuid是。
一些附加信息:我已经有多个JS & &;我必须在这个应用程序中使用的HTML文件。我通过WebView控件打开HTML-Sites。
亲切的问候
假设你的主机应用程序是c#(并且你的HTML托管在WebView中),那么你可以通过调用AddWebAllowedObject
方法来注入一个包含你想要调用的方法的c#类来暴露c#方法。然后从脚本中,您可以通过window.whatever-name-you-gave-it.some-method()
调用该方法。
我认为你只需要改变逻辑。不是直接调用类,而是在代码中编写一个可以访问类的函数,然后为函数使用WebMethod来使用类。如果在后面的代码中也不能访问这个类,那么就需要更改这个类。