C#中是否可以执行脚本语言

问题描述

请问大家在C#中是否可以调用解释执行的脚本语言,例如JavaScript,VBScript等。

解决方案

解决方案二:
不能,需要第三方类库解释执行,
解决方案三:
Response.Write("<script>alert('irow="+Session["irow"].ToString()+"');</script>");

解决方案四:
如果是Asp.NET那可以。。Page.ClientScript.RegisterStartupScriptPage.ClientScript.XX...
解决方案五:
或者用msscript.ocx,微软的脚本控件,
解决方案六:
引用楼主yz_zcg的回复:

请问大家在C#中是否可以调用解释执行的脚本语言,例如JavaScript,VBScript等。

你要在具体点,ASP.NET那是可以的,
解决方案七:
引用5楼chinajiyong的回复:

引用楼主yz_zcg的回复:请问大家在C#中是否可以调用解释执行的脚本语言,例如JavaScript,VBScript等。你要在具体点,ASP.NET那是可以的,

是指C#程序语言,不是ASP.NET,不在客户端浏览器运行。
解决方案八:
只能通过控件方式运行。
解决方案九:
同4楼,我还用过~~~~直接拉别人的js,得到运行结果,连破解都省了~~~
解决方案十:
可以用lua,paxscript,v8等,也可以用CodeDomProvider动态执行C#代码
解决方案十一:
我正在用的js解释器///<summary>///JSEngine在后台运行js的解释器返回值///</summary>publicclassJSEngine{//初始化加载程序的字符串;publicstaticreadonlyString_jsString=@"classtheEval{publicfunctionEval(str:String):String{returneval(str)}}";publicstaticreadonlyString_jsClassName=@"theEval";publicstaticreadonlyString_jsMethodName=@"Eval";//定义对象publicstaticobject_evalObject=newobject();publicstaticType_evalType=newobject().GetType();//构造函数staticJSEngine(){CreatJSEngine(ref_evalObject,ref_evalType,_jsString,_jsClassName);}///<summary>///初始化引擎的方法///</summary>///</summary>///<paramname="evalObject">指定一个已存在的变量保存使用evalType的类型生成一个实例</param>///<paramname="evalType">指定一个已存在的变量保存生成的程序集中有指定名称的对象type</param>///<paramname="jsString">指定用来生成程序集的代码文本</param>///<paramname="jsClassName">指定用来进行调用的程序集中的类别名称</param>privatestaticvoidCreatJSEngine(refobjectevalObject,refTypeevalType,stringjsString,stringjsClassName){CodeDomProvider_provider=newJScriptCodeProvider();CompilerParameters_parameters=newCompilerParameters();_parameters.GenerateInMemory=true;CompilerResults_result=_provider.CompileAssemblyFromSource(_parameters,jsString);Assembly_assembly=_result.CompiledAssembly;evalType=_assembly.GetType(jsClassName);evalObject=Activator.CreateInstance(evalType);}///<summary>///StringEval///</summary>///<paramname="inp_JSString">传入一个表达式</param>///<returns>返回一个表达式的值</returns>publicstaticobjectStringEval(stringinp_JSString){return_evalType.InvokeMember(_jsMethodName,BindingFlags.InvokeMethod,null,_evalObject,newobject[]{inp_JSString});}///<summary>///StringEval///</summary>///<paramname="inp_JSFunctionString">指定用来生成程序集的代码文本</param>///<paramname="inp_JSFunctionClassName">指定用来进行调用的程序集中的类别名称</param>///<paramname="inp_JSFunctionClassFuncName">指定用来进行调用的程序集中的类别中的函数的名称</param>///<paramname="inp_ParameterObject">要传递到程序集中的变量对象数组,无参时使用newobject[0]</param>///<returns>返回函数调用的值</returns>publicstaticobjectStringEval(stringinp_JSFunctionString,stringinp_JSFunctionClassName,stringinp_JSFunctionClassFuncName,object[]inp_ParameterObject){objectClosureevalObject=null;TypeClosureevalType=null;CreatJSEngine(refClosureevalObject,refClosureevalType,inp_JSFunctionString,inp_JSFunctionClassName);returnClosureevalType.InvokeMember(inp_JSFunctionClassFuncName,BindingFlags.InvokeMethod,null,ClosureevalObject,inp_ParameterObject);}///<summary>///StringEval///</summary>///<paramname="inp_JSString">传入一个表达式</param>///<paramname="inp_theType">指定的要返回的值类型</param>///<returns>返回的值</returns>publicstaticobjectStringEval(stringinp_JSString,Typeinp_theType){returnMicrosoft.JScript.Convert.Coerce(_evalType.InvokeMember(_jsMethodName,BindingFlags.InvokeMethod,null,_evalObject,newobject[]{inp_JSString}),inp_theType);}}

解决方案十二:
我这个是用来在后台计算javascript表达示值的,所以直接指定了类和方法名,只让你输入方法中的执行语句。你可以改成自己的。
解决方案十三:
ScriptRunTime
解决方案十四:
引用2楼bdmh的回复:

C#codeResponse.Write("<script>alert('irow="+Session["irow"].ToString()+"');</script>");

解决方案十五:
publicstaticobjectStringEval(stringinp_JSFunctionString,stringinp_JSFunctionClassName,stringinp_JSFunctionClassFuncName,object[]inp_ParameterObject)这个重载是用来生成自己的js类,并调用其中方法的
解决方案:
这个本质上是调用微软的JScript解释引擎来解释执行javascript,个别方法不支持,如alert
解决方案:
Jint
解决方案:
引用10楼hwbox的回复:

我正在用的js解释器C#code///<summary>///JSEngine在后台运行js的解释器返回值///</summary>publicclassJSEngine{//初始化加载程序的字符串;publicstaticreadonlyString_jsString=@"c……

真没用过,支持一下
解决方案:
不可以执行,脚本语言是写给浏览器认的,但是在页面上写好,却可以在C#中让它在页面执行,注意不是在C#中执行Page.ClientScript.RegisterStartupScript
解决方案:
引用15楼hzzasdf的回复:

这个本质上是调用微软的JScript解释引擎来解释执行javascript,个别方法不支持,如alert

我这个类是我的CMS里用来做标签参数表达式值运算的。当然不需要弹窗这类的。

时间: 2024-10-23 06:46:38

C#中是否可以执行脚本语言的相关文章

在ASP中使用脚本语言

脚本语言介于HTML和Java,C++以及VisualBasic等编程语言之间.HTML通常用于格式化和链结文本.而编程语言通常用于向机器发出一系列复杂的指令.脚本语言介于两者之间但它的函数与编程语言更为相象一些.它与编程语言之间最大的区别是后者的语法和规则更为严格和复杂一些. 在服务器端使用脚本语言,需要在服务器端安装脚本引擎.脚本引擎是用于处理脚本的COM(组件对象模型)对象.ASP为脚本引擎提供主机环境并把.asp文件中的脚本交给脚本引擎处理.对于.asp文件中使用的每种脚本语言,都要将他

Scripting Java #1:Java中执行脚本

Many implementations of scripting and dynamically typed languages generate Java bytecodes so that programs can be run on the Java Platform, just as are actual Java programs. Implementing a language in this way (or as a Java interpreter class for the

ASP程序中常用的脚本语言_应用技巧

在浏览器中通过查看源代码的方式是无法看到ASP源代码的,你只能看到由ASP文件输出的结果,而那些只是纯粹的HTML而已.这是因为,在结果被送回浏览器前,脚本已经在服务器执行了. 实例: 用ASP写文本 以下为引用的内容: <html> <body> <% response.write("Hello World!") %> </body> </html> 向文本添加HTML 以下为引用的内容: <html> <

ASP程序中常用的脚本语言

在浏览器中通过查看源代码的方式是无法看到ASP源代码的,你只能看到由ASP文件输出的结果,而那些只是纯粹的HTML而已.这是因为,在结果被送回浏览器前,脚本已经在服务器执行了. 实例: 用ASP写文本 以下为引用的内容: <html> <body> <% response.write("Hello World!") %> </body> </html> 向文本添加HTML 以下为引用的内容: <html> <

ASP入门:认识ASP程序所使用的几种脚本语言

程序|脚本 在浏览器中通过查看源代码的方式是无法看到ASP源代码的,你只能看到由ASP文件输出的结果,而那些只是纯粹的HTML而已.这是因为,在结果被送回浏览器前,脚本已经在服务器执行了. 实例: 用ASP写文本 <html><body><%response.write("Hello World!")%></body></html> 向文本添加HTML <html><body><%response

让你的程序也能执行脚本

VBScript(JScript)是应用广泛,简单易学的脚本语言.使用VBScript(JScript)调用COM组件则更是容易.那么,如果在你的程序中也能够执行脚本,则在简化程序设计的基础上,还会极大地提升软件的功能.为了方便大家使用这个功能,我写了一个具有自动化(Automation/IDispatch)功能的EXE包装程序来代理调用脚本执行.这个包装程序接口只有2个函数,说明如下: Void SetScriptLanguage(long nLanguage); 功能:设置使用脚本语言的类型

如何用PhotoShop脚本语言处理图片教程

利用Ps脚本我们可以简化工作流程,甚至能创造出让人震惊的数字艺术.卓越的设计师不是沉迷于幻想,而是将幻想变为现实的人.而技术,则是你的魔术棒... 原文作者Ross Aitken(个人教程站:http://psdlearning.com/) 这篇文章写得很详细,力图让每一个读者都能看懂.本文主要涉及到三块主要技术:调色.添加边框和阴影以及随机旋转.调色的方法是复制图片图层,然后平均模 糊取得该图片的平均色,其后用图片RGB通道直方图校验的方法取得该平均色的色值,并根据各通道颜色比例作出调整,然后

将Delphi作为ASP.NET的脚本语言

asp.net|脚本    将Delphi视为脚本语言       支持ASP.net的第一件事是让ASP.NET将Delphi视为脚本语言,让ASP.NET能够为各种ASP文件类型调用Delphi的.NET编译器.       ASP.NET要在IIS虚路径的根目录下寻找Web.config文件.下面是ASP.NET中使用Delphi作脚本语言的web.config配制文件内容:       <configuration>    <system.web>    <compi

为什么脚本语言在html中不能执行?

问题描述 为什么脚本语言在html中不能执行? 解决方案 解决方案二:可以执行啊,浏览器会执行的!!!解决方案三:window.alert('会执行!'); 解决方案四:你看下面的例子:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="ht