通用应用程序:从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。

亲切的问候

通用应用程序:从javascript调用c#方法

假设你的主机应用程序是c#(并且你的HTML托管在WebView中),那么你可以通过调用AddWebAllowedObject方法来注入一个包含你想要调用的方法的c#类来暴露c#方法。然后从脚本中,您可以通过window.whatever-name-you-gave-it.some-method()调用该方法。

我认为你只需要改变逻辑。不是直接调用类,而是在代码中编写一个可以访问类的函数,然后为函数使用WebMethod来使用类。如果在后面的代码中也不能访问这个类,那么就需要更改这个类。