發表文章

目前顯示的是有「JavaScript」標籤的文章

在WP7/Silverlight當中接收JSON資料...

事情是這樣的,可能很多開發人員已經清楚,在Silverlight技術當中是不直接支援以ADO.NET方式來存取遠端DB的,關於這個部分,我在許多課堂中都有說明,隨著技術的改變與更新,現在有更好的方式在SL當中抓取資料,我們主要使用的是LINQ技術,在伺服器端可以配合LinqToSql和ADO.NET Entity Framework,所以我們會建議開發人員,在撰寫SL要呼叫的Web/WCF Services時,就直接透過LinqToSql or ADO.NET EF抓取資料,並且把抓到的資料直接以物件的方式回傳,這樣有一個超級棒的好處,就是在Silverlight去reference這個Web/WCF Services時,VS2010會自動在Silvelright端幫你generate這個物件的Type,然後你可以輕鬆的在SL當中使用這個物件,如同這個物件從伺服器端被傳到用戶端一樣。 例如: [WebMethod] public AddrssBook[] getAllData() { AddrBookDataContext db = new AddrBookDataContext(); var ret = from c in db.AddrssBooks select c; return ret.ToArray(); } 這邊的AddressBook類別是資料表名稱,是LinqToSql自動幫我們產生的類別定義。 當SL去呼叫這個Web Services時,在Silvelright端就會自動產生該類別(從Win/Web Form時代就是這樣),一切都相當容易。 但在這個多元化的時候,很可能有時候沒那麼單純,總是有很多奇怪的場合,你的客戶會要求你達成跨平台這個遠大的目標。這時候,你要考慮Services是不是有可能要讓其他開發技術(PHP? Java? @#$%^&*@#$%?)來呼叫...因此,把資料轉成大家看得懂並且容易解析的方式會比較理想,例如JSON...

即將推出的ASP.NET Ajax Library...

有很久一段時間我的BLOG上沒有出現AJAX相關訊息了,主要當然是因為絕大部分的重心都放到了Silverlight身上(可預期的未來應該也會是如此)。 但由於工作上的需要,最近還是回頭看了一下即將推出的ASP.NET Ajax Library...,順便google了一下網路上的訊息,看這個態勢我猜想應該不少ASP.NET開發人員忽略掉了這個其實已經beta很久即將隨著VS2010推出的JavaScript Library,當然,也可能是因為您已經在使用jQuery了。 不過仔細看看ASP.NET Ajax Library當中還是有不少精彩的功能,同時現在微軟針對AJAX JavaScript Library也提供了CDN(content delivery network)服務,讓您可以直接在頁面上引用位於微軟的javaScript檔案,而不再需要把檔案放在自己的專案中。 後面如果時間允許,我也會陸續介紹ASP.NET Ajax Library中的一些功能,以及和jQuery的整合方式。首先來看ASP.NET Ajax Library中Client Controls的使用(底下的範例是浮水印的TextBox): &lthead> &lttitle>Untitled Page&lt/title> &ltstyle type="text/css"> .wm { color:Gray } &lt/style> &lt!--從CDN引用js--> &ltscript src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.js" type="text/javascript">&lt/script> &ltscript src="http://ajax.microsoft.com/ajax/beta/0911/Start.debug.js" type="text/javascript">&...

一般純HTML網頁的JavaScript的單步執行與除錯(以VS2005)

圖片
筆者最近寫Script的機會比較多, 難免需要在開發時候進行除錯,雖然我們都知道VS2008有針對JavaScript除錯的功能,但是無奈專案是在2005和.html頁面上進行開發,因此無法『自然而然』的享有Script Debug的功能。 但是我們依舊可以進行一些簡單的設定,讓IE執行的JavaScript進行單步執行和除錯。 要這麼作相當簡單,請在IE7.0環境當中,點選『工具-->網際網路選項-->進階』,找到『瀏覽』頁簽: 把停用指令碼除錯的部分都取消,如此一來,IE將會支援指令碼除錯。接著,您可以在JavaScript當中撰寫: var a,b; a=10; b=20; debugger; a=a+b; alert(a); 您會發現接下來當IE執行到debugger指令之後,就會進入偵錯模式: 除此之外,現在您還可透過try...catch抓取錯誤之後進入偵錯模式: 如此一來,透過簡單的方式,我們依舊可以針對JavaScript進行除錯,這對越來越受重視的前端介面開發,有著相當大的幫助。