引入com组件

关于C#执行js测试

 

 建js 这是 掉用方法中套一个test方法,看看C#能否支持

function  test()
{
    return "i am test str!"
}

function sayHello(str) {
   var str= test();
   // Utf16BE.stringify("nihao")
    return "Hello," + str;
}
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

       private void button1_Click(object sender, EventArgs e)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "test.js";
            string str2 = File.ReadAllText(path);

            string fun = string.Format(@"sayHello('{0}')" ,this.textBox1.Text.Trim());
            string result = ExecuteScript(fun, str2);

            MessageBox.Show(result);
        }

        /// <summary>
        /// 执行JS
        /// </summary>
        /// <param name="sExpression">参数体</param>
        /// <param name="sCode">JavaScript代码的字符串</param>
        /// <returns></returns>
        private string ExecuteScript(string sExpression, string sCode)
        {
            MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
            scriptControl.UseSafeSubset = true;
            scriptControl.Language = "JScript";
            scriptControl.AddCode(sCode);
            try
            {
                string str = scriptControl.Eval(sExpression).ToString();
                return str;
            }
            catch (Exception ex)
            {
                string str = ex.Message;
            }
            return null;
        }
    }

关于C#执行js测试

 

点击执行

关于C#执行js测试

 

相关文章:

  • 2022-02-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-07
  • 2021-10-07
  • 2021-10-07
  • 2022-02-13
  • 2021-09-08
猜你喜欢
  • 2021-12-24
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案