使用invokescript将bool值从javascript传递到c#
本文关键字:javascript 值从 invokescript bool 使用 | 更新日期: 2023-09-27 18:19:35
我有这个代码:
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
bool isEditing = (bool)webBrowser1.Document.InvokeScript("isEditing");
MessageBox.Show("End");
e.Cancel = false;
}
程序不会关闭,也不会到达MessageBox.Show("End");
。取出线路bool isEditing = (bool)webBrowser1.Document.InvokeScript("isEditing");
使其工作(程序退出)。
isEditing
是一个javascript函数,它看起来像这样:
function isEditing(){ return editing; } // editing being either true or false
我不知道如何通过c#中的调试控制台获得任何错误消息(尽管如果有人想给我指明正确的方向,我可以回来发布)。
我最终想做的是有一个脚本,如果我在网络浏览器中编辑,它可以阻止表单关闭。(但我似乎无法到达第一行!)
我做错了吗?如果是这样,那它怎么了?
感谢
请注意,如果InvokeScript()
调用引发异常(例如,如果不存在isEditing
),则该异常将被表单捕获,关闭请求将中止。
这也许可以解释为什么你的代码永远不会到达MessageBox.Show("End");
,也不会关闭表单
您应该能够在Visual Studio的"输出窗口"中看到任何捕获的异常信息,或者您可以通过转到Debug->Exceptions
菜单并选中"公共语言运行时异常"选项来强制Visual Studio中断任何异常。