Учитывая следующий код 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");
Но это вызовет DISP_E_UNKNOWNNAME:
CallJavaScriptFunction("someOBj.someMethod");
Очевидно, что я делаю что-то не так - возможно, есть другой способ вызова InvokeMember
для методов экземпляра JavaScript, но я не смог выяснить, как.
Есть мысли? Любая помощь будет оценена.