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

    在上篇 C#使用技巧之调用JS脚本方法一 中向大家介绍了C#调用js文件中的js方法,今天给大家介绍另一种调用方法:

    1、创建WinForm项目。

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

    3、进入Form1.cs编码后台代码。

    Form1.cs代码如下:

     1   private void button1_Click(object sender, EventArgs e)
     2         {
     3 
     4             //输入JS方法参数
     5             object[] para = new object[] { this.textBox1.Text.Trim() };
     6 
     7             string str = GetJsMethd("test", para);
     8 
     9             MessageBox.Show(str);
    10         }
    11 
    12         /// <summary>
    13         /// 执行JS方法
    14         /// </summary>
    15         /// <param name="methodName">方法名</param>
    16         /// <param name="para">参数</param>
    17         /// <returns></returns>
    18         private static string GetJsMethd(string methodName, object[] para)
    19         {
    20             StringBuilder sb = new StringBuilder();
    21             sb.Append("package aa{");
    22             sb.Append(" public class JScript {");
    23             sb.Append("     public static function test(str) {");
    24             sb.Append("         return 'Hello,'+str;");
    25             sb.Append("     }");
    26             sb.Append(" }");
    27             sb.Append("}");
    28 
    29             CompilerParameters parameters = new CompilerParameters();
    30 
    31             parameters.GenerateInMemory = true;
    32 
    33             CodeDomProvider _provider = new Microsoft.JScript.JScriptCodeProvider();
    34 
    35             CompilerResults results = _provider.CompileAssemblyFromSource(parameters, sb.ToString());
    36 
    37             Assembly assembly = results.CompiledAssembly;
    38 
    39             Type _evaluateType = assembly.GetType("aa.JScript");
    40 
    41             object obj = _evaluateType.InvokeMember("test", BindingFlags.InvokeMethod,
    42             null, null, para);
    43 
    44             return obj.ToString();
    45         }

    4、测试效果

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

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

  • 相关阅读:
    exkmp
    欧拉通路、回路
    你有多久没有看过星星
    trie树模板(统计难题)
    SPFA(热浪)
    codevs1958 刺激
    洛谷1290 欧几里得的游戏
    洛谷1016 旅行家的预算
    Spfa算法模板
    Tyvj2017清北冬令营入学测试
  • 原文地址:https://www.cnblogs.com/xdpxyxy/p/3132868.html
Copyright © 2011-2022 走看看