在C#中执行JS
2013-09-04 22:57
246 查看
当时的需求是在Console程序中执行一段JS脚本,输入参数,并得到输出结果。网上介绍C#和JS互调的文章很多,但大多数的环境都是ASP.NET这种网页形式的。所以这里把Console程序中的调用方法简单介绍一下。
解决方案资源管理器窗口 -> 右击引用 -> 选择COM中的Mircosoft Script Control -> 确定。这样会将程序集MSScriptControl添加在引用中。接下来的事情,就是调用里面提供的方法,来调用JS解决问题了。
static void Main(string[] args)
{
Console.WriteLine(“输入参数,以空格分隔多个参数,Enter确定:”);
string param = Console.ReadLine();
string[] _paramsStr = param.Split(‘ ’);
int _paramsLen = _paramsStr.Length;
object[] _params = new object[_paramsLen];
for(int i = 0; i < _paramsLen ;i++)//参数赋值
{
_params[i] = _paramsStr[i];
}
ScriptControlClass js = new ScriptControlClass();//使用ScriptControlClass
js.Language = “javascript”;
js.Reset();
js.Eval(File.ReadAllText(@“c:\afdsfas.js”));//指向js脚本
object result = js.Run(“enString”, _params);//传入参数执行
Console.WriteLine(result);
Console.Read();
}
本文分类:
C#,
JavaScript. 拥有标签:
C#,
JavaScript,
ScriptControlClass. Bookmark the
permalink.
解决方案资源管理器窗口 -> 右击引用 -> 选择COM中的Mircosoft Script Control -> 确定。这样会将程序集MSScriptControl添加在引用中。接下来的事情,就是调用里面提供的方法,来调用JS解决问题了。
static void Main(string[] args)
{
Console.WriteLine(“输入参数,以空格分隔多个参数,Enter确定:”);
string param = Console.ReadLine();
string[] _paramsStr = param.Split(‘ ’);
int _paramsLen = _paramsStr.Length;
object[] _params = new object[_paramsLen];
for(int i = 0; i < _paramsLen ;i++)//参数赋值
{
_params[i] = _paramsStr[i];
}
ScriptControlClass js = new ScriptControlClass();//使用ScriptControlClass
js.Language = “javascript”;
js.Reset();
js.Eval(File.ReadAllText(@“c:\afdsfas.js”));//指向js脚本
object result = js.Run(“enString”, _params);//传入参数执行
Console.WriteLine(result);
Console.Read();
}
本文分类:
C#,
JavaScript. 拥有标签:
C#,
JavaScript,
ScriptControlClass. Bookmark the
permalink.
相关文章推荐
- C#执行js动态编译的方法
- C# 执行JS
- 根据JS判断是否执行C#后台代码(后台弹出确定/取消提示窗口)
- c#后台执行js的五种方法
- c#和node.js交互,edge库的使用,node.js执行c#代码
- 意外作出了一个javascript的服务器,可以通过js调用并执行任何java(包括 所有java 内核基本库)及C#类库,并最终由 C# 执行你提交的javascript代码! 不敢藏私,特与大家分
- c# webBrowser 模拟键盘输入及后台执行js
- C# 执行js
- Windows Script Control msscript.ocx c# .net 执行js 脚本
- C#后台执行JS
- c# 中执行js的问题
- c# 在UpdatePanel后台执行前台JS方法
- C#利用ScriptControl动态执行JS和VBS脚本
- C# Page.ClientScript.RegisterStartupScript(this.GetType(), "",js)不执行的原因
- C# 利用 ScriptControl 动态执行JS 和VBS脚本
- 解决C#调用执行js报检索 COM 类工厂中 CLSID 为 {0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC} 组件失败
- C#后台执行js
- webBrowser执行js的方法,并返回值,c#后台取值
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- 让服务器控件执行js与C#两种代码(asp.net)