C# 调用、执行 js 方法

首先需要引用程序集 Microsoft Script Control 1.0

然后新建一个js文件,并写入相应的js方法

//执行JS文件
        private void btnjs_Click(object sender, EventArgs e)
        {
            //读取js文件路径
            string path = AppDomain.CurrentDomain.BaseDirectory + "JavaScript1.js";
            //加载js文件的所有内容 保存到变量str2中
            string str2 = System.IO.File.ReadAllText(path);
            //调用js方法,如果该js方法有参数,就传呗
            string fun = string.Format(@"sayHello(‘{0}‘,‘{1}‘,‘{2}‘)", 23,34,"+");
            //执行,并得到返回结果
            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;
        }
时间: 2024-10-10 13:22:39

C# 调用、执行 js 方法的相关文章

关于.net后台调用前台js方法

在服务器端的后台代码Button_Click事件中调用一个JS写的方法 protected void btnShow_Click(object sender, EventArgs e) {//这是Button处理事件的第一句 调用客端的js函数Page.RegisterStartupScript("showDiv", "<script>ShowDiv()</script>");//但是VS会提示这种方法已经过时了,但是还是可以使用的!如果比较

页面初始化时执行js方法

1.<script>      window.onload=function(){      alert("");     }    </script> 2.function ckCbo(){alert(""); }<body onload='ckCbo()'> jQuery页面加载初始化的3种方法 1.$(document).ready(function(){     alert("方法1.");     

template.js 模版内调用外部JS方法

<script src="js/jquery-1.11.1.js" ></script> <script src="js/template.js"></script> <script type="text/javascript"> template.helper("fromatMoney", function (x,y) { return JSON.stringify

C# WinForm程序执行JS代码的多种方法

方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptControl.dll 2.项目中引用 msscript.ocx 或者 Interop.MSScriptCon

js方法作为js参数调用

需求:弹层 问题:需要两种弹层,一种为只弹出消息,另一种是点击确定需要执行js方法. 分析:第一种不考虑,第二种需要用到 js方法作为js参数调用. 代码: function messageLayer(msg,callback){ //弹层调用 alert(msg); if (callback!=undefined){ callback(); } } 调用方法: sweetalert('success',function(){ window.location.href="http://www.c

WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互

原文地址:http://www.cnblogs.com/feiyuhuo/p/5474790.html 方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptCon

Java执行js代码

在做项目中有时候需要用到Java调用js文件执行相应的方法 在JDK1.6添加了新的ScriptEngine类,允许用户直接执行js代码. import org.junit.Test; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; /** * @author ceshi * @Title: JunitTestJS * @Projec

jquery更改ready方法调用顺序,在ready之后执行Js代码

*/--> jquery更改ready方法调用顺序,在ready之后执行Js代码 Table of Contents 问题描述 在所有的ready方法之后执行上面的方法 重写$.fn.ready方法 查看$.fn.ready的源码定义 修改自己的$.fn.ready 闭包,增加安全性 问题描述 我想要控制Input,回车不提交表单,思路如下: $(function(){ $("form input").on("keypress",function(event)

jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?

jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JAVA代码,不管写哪里,都会最新被解析