代码之家  ›  专栏  ›  技术社区  ›  rsenna

IE自动化-从服务器端C调用客户端javascript**方法**。#

  •  1
  • rsenna  · 技术社区  · 16 年前

    给出以下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块:

    function someFunction() {
        alert('This is only a test!');
    }
    
    var someObj = {
        someMethod: function() {
            alert('This is another test!');
        }
    }
    

    成功执行以下服务器端块:

    CallJavaScriptFunction("someFunction");
    

    但这将引发一个不可知的争议:

    CallJavaScriptFunction("someOBj.someMethod");
    

    很明显我在这里做错了-可能还有另一种方法 InvokeMember 在javascript实例方法上,但我无法找到如何实现。

    有什么想法吗?任何帮助都将不胜感激。

    1 回复  |  直到 16 年前
        1
  •  2
  •   SLaks    16 年前

    您需要调用 someObj 财产 ,然后调用 someMethod 属性值的方法