在webbrowser中调用javascript函数时,指定的强制转换无效
我试图在webbrowser中调用javascript函数。 网站有单独的带有javascript功能的文件。 这是网站html文件的一部分:在webbrowser中调用javascript函数时,指定的强制转换无效,javascript,c#,invokescript,Javascript,C#,Invokescript,我试图在webbrowser中调用javascript函数。 网站有单独的带有javascript功能的文件。 这是网站html文件的一部分: <div class="header"> <a class="buttonrg" onclick="$(this).hide();remove('56442741')"> Remove </a> </div> 我试图用c#中的这个脚本调用'remove'函数: 但当我试图调用此脚本时,控制台总是向
<div class="header">
<a class="buttonrg" onclick="$(this).hide();remove('56442741')"> Remove </a>
</div>
我试图用c#中的这个脚本调用'remove'函数:
但当我试图调用此脚本时,控制台总是向我显示一个错误:指定的强制转换无效
可能出现什么问题?更改
数据:“remove=“+remove
到数据:{“remove”:id}
是否从创建它的线程以外的线程调用InvokeScript()
?这样做会导致为我抛出此异常
在这种情况下,这是一条奇怪的错误消息,但是我用Invoke()
e、 g
更改
数据后检查:“remove=“+remove
到数据:{“remove”:id}
是否只有C代码出错?单击页面上的删除按钮可以正常工作?@XtremeBytes是的,页面上的代码正常工作是的,网站上的脚本正常工作,但当我试图在webbrowser表单中调用它时,它仍然向我显示相同的消息,所以问题出在c#脚本中。为什么不删除ToString()调用?它是一个对象数组,因此int也可以工作。我以前试图用字符串数组调用它,这就是为什么有ToString()。只是忘了把它取下来,但是没有这个也不行。是的。。还是一样
function remove(id) {
$.ajax({
type: "POST",
url: "ajax/remove.php",
data: "remove=" + id
});
}
public void RemoveOffer(int _id)
{
try
{
webBrowser.Document.InvokeScript("remove", new object[] { _id.ToString() });
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
private void RemoveOffer(int _id)
{
if (webBrowser.InvokeRequired)
{
webBrowser.Invoke(new Action(() => { RemoveOffer(_id); }));
return;
}
webBrowser.Document.InvokeScript("remove", new object[] { _id }); // Not sure if the .ToString() is required...
}