zoukankan      html  css  js  c++  java
  • C#使用技巧之调用JS脚本方法一

    有时候我们需要在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编码后台代码。

    Form1.cs代码如下:

     1  private void button1_Click(object sender, EventArgs e)
     2         {
     3             string path = AppDomain.CurrentDomain.BaseDirectory + "test.js";
     4             string str2 = File.ReadAllText(path);
     5 
     6             string fun = string.Format(@"sayHello('{0}')" ,this.textBox1.Text.Trim());
     7             string result = ExecuteScript(fun, str2);
     8 
     9             MessageBox.Show(result);
    10         }
    11 
    12         /// <summary>
    13         /// 执行JS
    14         /// </summary>
    15         /// <param name="sExpression">参数体</param>
    16         /// <param name="sCode">JavaScript代码的字符串</param>
    17         /// <returns></returns>
    18         private string ExecuteScript(string sExpression, string sCode)
    19         {
    20             MSScriptControl.ScriptControl scriptControl = new MSScriptControl.ScriptControl();
    21             scriptControl.UseSafeSubset = true;
    22             scriptControl.Language = "JScript";
    23             scriptControl.AddCode(sCode);
    24             try
    25             {
    26                 string str = scriptControl.Eval(sExpression).ToString();
    27                 return str;
    28             }
    29             catch (Exception ex)
    30             {
    31                 string str = ex.Message;
    32             }
    33             return null;
    34         }

    5、测试

    效果图如第0步。

    注:在后台代码中如果找不到命名空间:MSScriptControl.ScriptControl,请参照下图增加引用。

     阅读指引:C#使用技巧之调用JS脚本方法

                   http://www.cnblogs.com/xdpxyxy/archive/2013/06/12/3132868.html

  • 相关阅读:
    24. Swap Nodes in Pairs
    49. Group Anagrams
    280. Wiggle Sort
    274. H-Index
    K Closest Numbers In Sorted Array
    Closest Number in Sorted Array
    Last Position of Target
    Classical Binary Search
    350. Intersection of Two Arrays II
    Sort Integers II
  • 原文地址:https://www.cnblogs.com/xdpxyxy/p/3132097.html
Copyright © 2011-2022 走看看