-
有個點子,想在WinForm上跑程式模擬出Web Server功能,讓Browser或程式可以透過HTTP協定與其溝通。既然想到,就動手做看看囉! HTTP Server絕大部分的核心功能,其實都可用.NET搞定: 用 TcpListener 接受特定Port連入的TCP連線,取得 NetworkStream ,以StreamReader、StreamWriter讀取及寫入資料... .NET BCL 真是應有盡有!相較之下,以前那種基礎元件跟函式庫都得自己張羅的時代,只能用茹毛飲血來形容。 有了BCL的加持...
-
同事在網頁上用了 ASP.NET TreeView控件 ,但專案規格中需要由Javascript端完成新增節點的動作,很不幸地,這不是ASP.NET TreeView內建支援的功能。 如果時間充裕的話,我會建議改用jQuery TreeView Plugin,較符合大量Client端客製的需求,但因時程迫在眉睫,且只差這個小功能,所以大家不要考究"破解"ASP.NET TreeView前端設計的意義,把它想像成打破水缸救人就好。 寫完這段程式,等同於小小地破解ASP.NET TreeView前端HTML與Script設計...
-
Abstract : This is a code generator to declare reflected .NET class of Javascript object using JSON.NET JObject features. 這是跟同事在討論系統架構時冒出的議題... 網頁前端將使用者輸入結果組裝成結構單純的Javascript物件,一個欄位對應一個屬性,但有些欄位如電話、地址等可能有多筆,故屬性型別除了字串、數字外,也有會有電話號碼物件陣列,電話號碼物件則包含國碼、區碼、號碼三個屬性...
-
之前在文章裡 提過 .NET內建兩種JSON轉換工具: JavaScriptSerializer及DataContractJsonSerializer。不過,它們都基於一個假設--"JSON轉換對象是事先已知的Class"! 在某些狀況下,前端所傳回的JSON字串是開發階段無法完全掌握的。 舉個極端的例子。在Javascript裡可用以下寫法搞出一個你做夢都想不到的物件,轉成JSON傳到後端: var o = {}; for (var i = 0; i < 10; i+...
-
今天應用到以jQuery.ajax送出XML文件,以ASPX接收處理的寫法。在倉庫挖了好久,才找出不久前剛寫過的程式碼參考。為了避免中年記憶衰退成為我活到老,Coding到老路上的絆腳石,整理一下程式貼成KB,也順便與有此需求的鄉親們分享。 HttpRequest要傳遞整份XML文件時,並不是將XML字串放在參數中,而是把整個XML內容當成POST Request的主體,因此在jQuery端與ASPX端跟一般呼叫寫法有些不同。 傳送時,必須直接使用jQuery.ajax()以精確調控參數,沒法用...
-
最近在嘗試將一個功能強大的jQuery Plugin【 jqGrid 】整到專案裡,它的功能與彈性讓人印象深刻(不過要上手得花點時間摸索),大家可以直接看 線上展示 ,應該就能感受其威力。 jqGrid有個貼心的設計--將功能模組化。各模組的程式分散在多個js檔,有用到才需要載入,避免Client端載入肥大js只使用其中一丁點功能,白白浪費載入時間及頻寬。(剛好前些時候James Padolsey也提到 這點 ,甚至覺得殺雞不必用牛刀,小功能或許自己寫會更有效率兼便練功) jqGrid提供了兩種做法...
-
在我的程式開發生涯中,套版輸出指定格式的報表/表單一直是揮之不去的煩人差事,沒什麼營養,偏偏在每個案子裡幾乎都像小強一樣冒出來。 面對這類需求,轉成網頁是下策,因為列印時排版格式常會亂到一塌糊塗,鮮少讓人滿意。在經驗裡,Reporting Service是不錯的選擇(而且免費)。 但有些報表如確認書、通知書,在格式上並非Gird格式,跟Reporting Service最擅長的表格呈現有點差距,數量一多,要將User提供的Word檔一一轉成Reporting Service報表便成了苦差事,尤其某些文件被要求必須模仿到跟原始樣版分毫不差...
-
應該有不少人被這麼要求過吧? "你們做的網頁表格為什麼不能像Excel一樣凍結標題列,底下捲來捲去也不會跑掉?" 前陣子看到一個不錯的Javascript Library,只用一行Code就可以輕鬆做出HTML表格列凍結的效果,剛好部門裡也常有這種需求,我就弄了一個簡單的範例。 大家可以先看 Scrollable HTML Table Plugin 的 範例 ,它本來是個 純Javascript Library ,Plugin只是做了簡單的包裝,把new ScrollableTable...
-
今天要挑戰的是用Javascript刪除ASP.NET寫入的Cookie。 Client-Side本來就可以由document.cookie取得Cookie,其為一字串,格式類似cookie1=value1;cookie2=value2;cookie3=value3,要用得自行拆解,但不乏現成的共用函數可以代勞。若網頁有引用jQuery, jQuery Cookie Plugin 是不錯的選擇。 要用jQuery Cookie Plugin刪除Cookie可以寫成$.cookie("CookieName"...
-
雖然上回已明白揭示過UpdatePanel 傳輸效率不佳 的事實,剛好有同事請我提供網頁部分內容定期自動更新的範例。想了一下,UpdatePanel還是最佳的解決方案,理由是: 開發人員較少Javascript的開發經驗,但ASPX經驗豐富。 該網頁使用者人數不多,更新頻率不高(約一分鐘一次)。 需求很急迫,不是學新東西的好時機,希望使用的技術愈簡單愈易實作愈好。 符合上述條件的技術選項,毋庸置疑,非UpdatePanel莫屬!! (再次證明,"沒有一無是處的技術,只有用錯場合的白目"...