.net c#中如何实现与Jscript完全一样的eval函数解析执行?
test.aspx代码如下:
<%@ Page Language="Jscript"%>
<%Response.Write(eval("(1+5)+'<br />'+DateTime.Now.ToString()"));%>
执行结果:
6
2011-6-1 21:33:31
如果用C#实现与Jscript完全一样的eval函数?
<%@ Page Language="C#">
Response.Write(Microsoft.JScript.Eval.JScriptEvaluate("1+2, Microsoft.JScript.Vsa.VsaEngine.CreateEngine()).ToString());
引用Microsoft.JScript和Microsoft.Vsa可以使用JScript的Eval做一些检查的运行,如下面返回结果为1+2的和3
但无法将字符串转为执行代码,如test.aspx第一页那样就会出错
Response.Write(Microsoft.JScript.Eval.JScriptEvaluate("(1+5)+'<br />'+DateTime.Now.ToString()", Microsoft.JScript.Vsa.VsaEngine.CreateEngine()).ToString());
出错
------解决方案--------------------
不用用eval吧。
<%Response.Write((1+5)+"<br />"+DateTime.Now.ToString());%>
------解决方案--------------------
http://topic.csdn.net/u/20110430/02/a3a306f8-2e21-4271-b3c5-35e2018933be.html