close

SilverLight從原本只支援JavaScript的1.0版進化到支援C#以及VB.NET的2.0版,這中間的改變想必讓許多的開發人員興奮不已。傳統ASP.NET的事件函式,都是在Server裡面進行。但在SilverLight 2.0裡,都是在Client端執行,開發人員已經可以運用桌面的強大能力來寫web程式。不過,雖然SilverLight支援C#以及VB.NET,但網頁不可能完全都用SilverLight,一定是與ASP.NET相互搭配,這樣一來JavaScript一定會使用到。幸好SilverLight 2.0支援從JavaScript呼叫SilverLight物件裡面的函式,以下是相關的範例。

首先,新增一個SilverLight專案。

2008-09-25_153859

之後會出現一個對話方塊,這邊設定專案類型為Web Application。

2008-09-25_153924

然後用Expression Blend開發Page.xaml

2008-09-25_154209

新增一個TextBox進去,並取名TextBox1,然後存檔。

2008-09-25_155424 

打開Page.xaml.cs,一開始先加入System.Windows.Browser這個namespace。然後在Page這個類別上加入[ScriptableType]這一行,讓JavaScript可以存取這個類別,之後再新增ChangeTextboxValue這個函式,上面要加上[ScriptableMember],讓JavaScript可以直接呼叫。特別注意HtmlPage.RegisterScriptaableObject("PageObj", this)這一行,PageObj可以自行取名,這個主要是讓JavaScript呼叫的名稱,後面的參數則是要讓JavaScript存取的instance。

2008-09-25_161246

打開JavaScriptCallDotNetSilverlightApplicationTestPage.aspx,在裡面新增一個按鈕,並在onclick這個屬性加上"ClickMe()"。

2008-09-25_161921

接下來加入新的JavaScript程式碼。

2008-09-25_161938

然後執行一次,按下按鈕,TextBox上的文字改變了!

2008-09-25_162034

從以上的範例可以知道,JavaScript絕對是死不了的.......

參考資料:http://www.miketaulty.com/SLVideos.html

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(1) 人氣()