• 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脚本方法一

  • 相关阅读:
    JSON Web令牌(JWT)
    CSRF跨站点请求伪造(Cross—Site Request Forgery)
    logging模块
    Django中使用Celery
    第一坑 先引入jQuery ./引入
    CSS 入门
    超大型文件传输方案 + socket + subprocess popen 远程执行系统命令
    MYSQL的执行计划 事务处理 和 跑路
    mysql 存储过程
    Django中CBV View的as_view()源码解析
  • 原文地址:https://www.cnblogs.com/xdpxyxy/p/3132868.html
Copyright © 2020-2023  润新知