MSScriptControl.ScriptControl 组件中的Run() 方法求助!!!

MSScriptControl.ScriptControl 组件中的Run() 方法求助!!!

问题描述:在.CS文件中利用Run方法调用JS脚本文件中的函数,返回值为NULL,请教大神们是啥原因啊?是因为Run方法的第一个函数名的参数不支持子函数么?该如何解决啊?

脚本文件jsfile.js 如下:
var JSEn = function (str) {
options = options || {};
this.log = options.log || false;
this.key = str;
};
JSEn.prototype.fun1 = function (str) {
return "aaa"+str;
};

C#代码中调用脚本文件中的 JSEn.prototype.fun1方法,代码如下
private string ExecuteScript(string strJsfile, string[] argc)
{
MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
scriptControl.UseSafeSubset = true;
scriptControl.Language = "JScript";

scriptControl.AddCode(strJsfile);
//调用过程如下
int ParamsLen = argc.Length;
object[] ParamsArg = new object[ParamsLen];
for (int i = 0; i < ParamsLen; i++)//参数赋值

{ ParamsArg[i] = argc[i]; }

try
{
//此处的result经调试发现返回值为null!!!?????求原因
object result = scriptControl.Run("JSEn.fun1", ParamsArg);
return result.ToString();
}
catch (Exception ex)
{
string str = ex.Message;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问