ASP.NET對Dynamic Language Runtime(DLR)的支援
在ASP.NET的下一個版本當中,將可能開始支援Dynamic Language(動態語言),微軟針對DLR支援最早出現的場合是Silverlight, 接著是ASP.NET Futures release,如果讀者有安裝VS 2005+ASP.NET Futures,則會看到在新增網站專案當中,出現了底下畫面: 當您選擇了Managed Jscript之後(它是 ASP.NET最新支援的兩種動態語言之一),您會發現建立出來的專案是完全相同的: 那這樣所謂的 "動態語言" 到底和傳統的C# 或是VB有何差別呢? 說『動態語言』似乎很高深,其實說穿了就是Script類型的語言,也就是執行方式是 "解譯式" 而 "非編譯" 式,這類語言的好處是,可以透過程式碼 動態產生程式碼 並且再加以執行,概念很簡單但是意義卻很重大。 舉一個簡單的例子,請參考上圖中的畫面,我在表單上放置兩個TextBox,和一個Button,並且撰寫底下的程式碼: function Button1_Click(sender, e) { TextBox2.Text = eval(TextBox1.Text).toString(); } 請注意這段程式碼是Managed Jscript,因此副檔名為.jsx: 請注意我在第一個TextBox當中所輸入的是 "運算式(也可以是程式碼,而非單純的數值)" : 透過 TextBox2.Text = eval(TextBox1.Text).toString(); eval指令,將會執行TextBox1中的運算式,再把結果傳入textBox2。 從上面的範例你會發現,透過DLR,我們可以用程式碼來產生(並執行)程式碼,達成動態運算的效果。 以上範例程式碼請點選 這裡 下載 (執行前請務必先安裝ASP.NET 2.0+ASP.NET Futures Release)