C#ÖнâÎöjavascript´úÂë
´ó²¿·ÖµÄ½âÊÍÐͽű¾ÓïÑÔ¶¼Ìṩ eval ·½·¨À´Íê³É¶¯Ì¬´úÂëµÄ½âÊÍÖ´ÐУ¬ C# È´²¢²»Ìṩ£¨Ïò Java ѧϰ£©¡£²»¹ýÔÚ .NET Framework Àà¿âÀïÃæÌṩµÄ Microsoft.JScript ÃüÃû¿Õ¼äµ¹Êǰüº¬ÁËÖ§³ÖʹÓÃJScript ÓïÑÔ±àÒëºÍÉú³É´úÂëµÄÀà¡£
ÏÈÉÏ´úÂ룺
¡¡¡¡¸ÃÀàÐèÒªÄãÌí¼Ó¶Ô³ÌÐò¼¯ Microsoft.JScript µÄÒýÓã»Èç¹û°Ñ“current version with JScriptCodeProvider” ²¿·Ö´úÂëÌæ»»Îª“deprecated version with Vsa”²¿·Ö´úÂ룬Ä㻹ÐèÒªÌí¼Ó¶Ô³ÌÐò¼¯ Microsoft.Vsa µÄÒýÓá£
¡¡¡¡´úÂë¶ÎĩβעÊ͵ôµÄ²¿·ÖÊÇÓà Microsoft.JScript.Vsa.VsaEngine ×÷Ϊ½Å±¾ÒýÇæÀ´Íê³É Evaluate ¹¤×÷£»µ« VsaEngine £¨°üÀ¨ÆäËùʵÏÖµÄ IVsaEngine ½Ó¿Ú£©ÔÚ .NET Framework 2.0 ÖÐÒѾ±» deprecated £¬ËùÒÔÈç¹ûÄãÔÚа汾ϱàÒëµÄ»°£¬»áµÃµ½Èçϵľ¯¸æÐÅÏ¢£º“Microsoft.JScript.Vsa.VsaEngine”Òѹýʱ:“Use of this type is not recommended because it is being deprecated in Visual Studio 2005; there will be no replacement for this feature. Please see the ICodeCompiler documentation for additional help.”
¡¡¡¡ÕâÑùµÄ Evaluate ·½·¨Ò»¸öÏÔ¶øÒ×¼ûµÄÓÃ;¾ÍÊǽâÎö JSON Êý¾Ý¡£ JSON µÄÊý¾Ý¸ñʽʵ¼ÊÉÏÊÇ JavaScript ¶ÔÏó¶¨ÒåÓï·¨µÄ×Ó¼¯£¬ËùÒÔʹÓÃÕâ¸ö Framework ËùÌṩµÄ½Å±¾ÒýÇæÀ´½âÎöµÃµ½µÄ JSON ¸ñʽµÄÊý¾Ý¾Í±È×Ô¼ºÐ´Ò»¸ö Parser À´µÄÇáËɵöࡣ±ÈÈ磺
view plaincopy to clipboardprint?
string jsStr =
"( {'timeString':'Time is: ' + new Date(),'dateValue':new Date()} )";
Microsoft.JScript.JSObject obj =
(Microsoft.JScript.JSObject) JSEvaluator.EvalToObject(jsStr);
MessageBox.Show(obj["timeString"].ToString());
MessageBox.Show(obj["dateValue"].ToString());
Microsoft.JScript.DateObject tmpV =
(Microsoft.JScript.DateObject)obj["dateValue"];
DateTime dt =
(DateTime) Microsoft.JScript.Convert.Coerce(tmpV, typeof(
Ïà¹ØÎĵµ£º
{
SqlConnection cnn = new SqlConnection
("context connection=true");
cnn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "select * from customers";
SqlDataReader reader = cmd.ExecuteReader();
SqlContext.Pipe.Send(reader);
reader.Close();
cnn.Close();
}
......
±¾ÎÄת×Ô£ºhttp://www.felixwoo.com/archives/247
×î½üÔÚÍøÉϲéÔÄÁ˲»ÉÙJavascript±Õ°ü(closure)Ïà¹ØµÄ×ÊÁÏ£¬Ð´µÄ´ó¶àÊǷdz£µÄѧÊõºÍרҵ¡£¶ÔÓÚ³õѧÕßÀ´Ëµ±ð˵Àí½â±Õ°üÁË£¬¾ÍÁ¬ÎÄ×ÖÐðÊö¶¼ºÜÄÑ¿´¶®¡£×«Ð´´ËÎĵÄÄ¿µÄ¾ÍÊÇÓÃ×îͨË×µÄÎÄ×Ö½Ò¿ªJavascript±Õ°üµÄÕæÊµÃæÄ¿¡£
Ò»¡¢Ê²Ã´ÊDZհü£¿
“¹Ù·½”µÄ½âÊÍÊÇ£º±Õ°üÊ ......
1. oncontextmenu="window.event.returnValue=false" ½«³¹µ×ÆÁ±ÎÊó±êÓÒ¼ü
<table border oncontextmenu=return(false)><td>no</table> ¿ÉÓÃÓÚTable
2. <body onselectstart="return false"> È¡Ïûѡȡ¡¢·ÀÖ¹¸´ÖÆ
3. onpaste="return false" ²»×¼Õ³Ìù
4. oncopy="return false;" oncut= ......
O3D ÊÇÒ»¸ö¿ªÔ´µÄWeb API£¬Æä¿ÉÒÔ´´½¨Ï൱ţXµÄ»ùÓÚä¯ÀÀÆ÷µÄ¿É½»»¥Ê½µÄ3DÓ¦Óá£Õâ¸öAPIÔÚºÜÓпÉÄÜ»áÐγÉÒÔºóµÄWebÉϵÄ3DͼÐεıê×¼¡£ÏÂÃæÊÇÕâ¸öAPIµÄÖ÷Õ¾µã£º http://code.google.com/apis/o3d/ ¡£O3DĿǰ֧³ÖWindows, MacºÍLinuxÈýÖÖÆ½Ì¨¡£
ÏÂÃæÊÇһЩ¼òµ¥µØÊ¹ÓÃO3DµÄAPIµÄÈçºÎ´´½¨Ò»¸öÁ¢·½Ì壬¸üÏêϸµÄÄÚÈÝÇ ......
1.ÈçºÎÔÚjavascript·ÃÎÊC#±äÁ¿
·½·¨Ò»£ºÊ¹ÓÃ<%=%>
<input id="Button3" type="button" value="jsµ÷ÓÃc#±äÁ¿" onclick="return Button3_onclick()" />
function Button3_onclick()
{
alert('ÎÒµÄÃû×Ö£º'+ '<%=name %>'); ......