1、创建个Winform项目。

2、在From1上增加一个文本框一个按钮。

3、在解决方案中创建一个test.js文件。

test.js代码如下:

function sayHello(str) {
return "Hello," + str;
}
4、进入Form1.cs编码后台代码。
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脚本(转)_WinForm

 

使用WebBrowser的 InvokeScript 调用前端方法



function callMe(arg1, arg2) {
return "arg1 is "+arg1+" and arg2 is "+arg2+"!";
}

object[] args = {"argString1", "argString2"};
webBrowser1.Document.InvokeScript("callMe",args);


 


此随笔或为自己所写、或为转载于网络。仅用于个人收集及备忘。