苏飞论坛

标题: C#执行JS的方法 [打印本页]

作者: 站长苏飞    时间: 2021-7-1 14:17
标题: C#执行JS的方法
[C#] 纯文本查看 复制代码
function main1() {
    return 1 + 1;
}

function main2(n) {
    return 40968 + n;
}

function main3(n) {
    return n * 5;
}

function main4(n) {
    return (n + 1) * 5;
}

function main5(n) {
    n = n = 4;
    n = n - 2;
    return (n + 1) * 5 - (n - 1);
}

上面是一段JS代码,下面我们来执行一下他

先来写个执行JS的方法

[C#] 纯文本查看 复制代码
 /// <summary>
        /// 直接调用JS方法并获取返回的值
        /// </summary>
        /// <param name="strJs">要执行的JS代码</param>
        /// <param name="main">要调用的方法名</param>
        /// <returns>执行结果</returns>
        internal static string JavaScriptEval(string strJs, string main)
        {
            //Type
            object obj = GetScriptControl();
            //设置JS代码
            SetScriptControlType(strJs, obj);
            //执行JS
            return type.InvokeMember("Eval", BindingFlags.InvokeMethod, null, obj, new object[] { main }).ToString();
        }


然后看如下代码
[C#] 纯文本查看 复制代码

str="上段JS内容";
JavaScriptEval(str,"main2(10)")


执行结果如下
[C#] 纯文本查看 复制代码
40978




作者: 范范    时间: 2021-7-1 16:37
赞, 有用




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4