给定以下 C# 代码:
public object CallJavaScriptFunction(string functionName, params object[] args)
{
object script = Document.Script;
var result = script.GetType().InvokeMember(functionName, BindingFlags.InvokeMethod, null, script, args);
return result;
}
以及以下客户端 JavaScript block :
function someFunction() {
alert('This is only a test!');
}
var someObj = {
someMethod: function() {
alert('This is another test!');
}
}
以下服务器端 block 成功执行:
CallJavaScriptFunction("someFunction");
但这会抛出一个 DISP_E_UNKNOWNNAME:
CallJavaScriptFunction("someOBj.someMethod");
显然我在这里做错了什么 - 可能有另一种方法可以在 JavaScript 实例方法上调用 InvokeMember
,但我无法找到方法。
有什么想法吗?任何帮助将不胜感激。
最佳答案
您需要调用someObj
属性,然后对该属性的值调用someMethod
方法
关于c# - IE 自动化 - 从服务器端 C# 调用客户端 JavaScript **方法**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3701715/