C#使用技巧之呼叫JS指令碼方法一
阿新 • • 發佈:2019-01-01
原文地址:http://www.cnblogs.com/xdpxyxy/archive/2013/06/11/3132097.html
有時候我們需要在C#中直接呼叫js方法,這是完全沒問題的。當然,我們也可以把js程式碼轉化為C#,然後在C#中執行,但是這個就得花時間了~~下面我給大家介紹下一種直接在C#中呼叫JS檔案的方法。
0、貼個效果圖
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; }
5、測試
效果圖如第0步。注:在後臺程式碼中如果找不到名稱空間:MSScriptControl.ScriptControl,請參照下圖增加引用。
專案->新增引用: