簡體   English   中英

在WinForms Webbrowser控件中使用參數從JS調用C#方法時出錯

[英]Error calling C# method from JS in winforms webbrowser control with parameters

我試圖從類似於以下內容的網絡瀏覽器控件中打開的頁面上,在Winform上調用C#方法:

http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.objectforscripting%28v=vs.110%29.aspx

在我的winform上,我有以下方法:

    public void Test(String message)
    {
        MessageBox.Show(message, "client code");
    }

在我的網頁上,我正在調用: window.external.Test('called from script code');

當我嘗試調用此函數時,出現JavaScript錯誤:“無效的過程調用或參數”

但是,當我修改表單的方法以不接受任何參數(例如public void Test() )並因此進行不帶參數的javascript調用時,它可以正常工作。 我只有在嘗試傳遞參數時才需要這樣做(我需要這樣做)。

更多信息:我的表單類確實具有以下屬性:

[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]

我正在分配ObjectForScripting:

webBrowser1.ObjectForScripting = this;

調試時,似乎沒有進入forms方法塊。

我一定想念一些簡單的東西。

愚蠢的錯誤。 在從代碼的其他部分調用函數之前,我正在評估該函數沒有像通常那樣未定義。 由於某種原因,這種評估是引發錯誤的地方,而不是呼叫本身(實際上沒問題)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM