标签:
结合网上的代码整理了一下c#中调用js的方法,仅用于留存。
ps.测试用的js文件需要放到bin\Debug下
代码如下:
using System;
using System.IO;
namespace CallJSTest
{
class Program
{
static void Main(string[] args)
{
CallJs();
}
private static void CallJs()
{
string path = AppDomain.CurrentDomain.BaseDirectory + "test.js";
string str2 = File.ReadAllText(path);
string fun = string.Format(@"sayHello(‘{0}‘)", "Alex Jiang");
string result = ExecuteScript(fun, str2);
Console.Write(result);
Console.ReadKey();
}
/// <summary>
/// 执行JS
/// </summary>
/// <param name="sExpression">参数体</param>
/// <param name="sCode">JavaScript代码的字符串</param>
/// <returns></returns>
private static string ExecuteScript(string sExpression, string sCode)
{
var 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;
}
}
}
标签:
原文地址:http://www.cnblogs.com/alexjiangjd/p/5892395.html