duyandong
2015-01-28 16:21MSScriptControl.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;
}
- 点赞
- 回答
- 收藏
- 复制链接分享
0条回答
为你推荐
- 无法显式调用运算符或访问器
- 反汇编
- 访问器
- 运算符
- 3个回答