【茶包射手日記】送出鈕OnClick事件return false在IE7/8無效
某個網頁出現<input type="submit"> onclick事件return false;卻無法阻止Postback的情況,進一步測試發現問題只出現在IE7/8,表單在IE9則如預期會因onclick事件回傳false取消Postback。使用刪去法,將網頁元素及程式一點一點移除並反覆測試,終於查出問題所在,答案有點離奇,竟是因為網頁使用了jQuery...
View ArticleHacking樂無窮-ReportViewer隱藏關卡: 匯出TIFF檔選項
ReportViewer預設的匯出格式只有PDF、Word跟Excel三種,如果還想再增加匯出TIFF檔的選項,該怎麼做?由於ReportViewer未提供匯出檔案格式的設定選項,網路上可找到一些替代做法:設定ShowExportControls=false,隱藏工具列上的匯出鈕,在網頁加入自訂匯出鈕,於Server-Side OnClick事件以Render()...
View Article關於Reporting Service PDF中文亂碼的一點研究
最近研究到SSRS的匯出PDF功能,由於應用平台涵蓋SSRS 2000,對於PDF的中文亂碼問題多了一點心得,特整理備忘。首先,PDF對於字型有兩處理方式: 第一種是只記載各段文字所使用的字型,Client端讀取軟體開啟時再使用所處作業系統相同名稱的字型繪製文字。因此,Client端與製作文件端的字型檔必須100%相同,才能產生...
View Article防止程式同時執行多份,比檢查Process清單更好的方法
在某些情境下,我們需要限制同一支程式同時間只能執行一份,很直覺的想法是檢查Process清單,由程式名稱在清單中出現一次以上來判斷是否已有同名程式在執行。這個做法直覺有效,在大部分情境也適用,甚至在CodeProject上也不乏類似"教學範例",很自然地,這也一度是我愛用過的解法(誰沒有過去呢?);但是,檢查Process清單並非是最簡潔嚴謹的做法。(前述CodeProject文章的評比只有一顆星,...
View Article如何取消MSN與Skype的帳號合併連結?
MSN將於2013/3/15吹熄燈號(嚴格來說,大家口中的MSN其實是指Windows Live Messenger,但正名Live...
View Article黑暗執行緒Facebook分舵成立囉~
使用Facebook好一陣子了,看到好些朋友在FB上成立社團,藉由FB的管道聚集了志同道合的社群朋友,感覺挺不賴的。雖然自忖人老珠黃年老力衰,又因工作形態無法隨時駐站,恐怕很難把社群經營到有聲有色,但我想即便慘淡經營,增加一個讓站友相識交流的管道總是好的。所以,"黑暗執行緒的ThreadPool"[https://www.facebook.com/groups/darkthread]成立囉!簡單來說...
View ArticlejQuery 1.9
jQuery已於2013/1/15釋出1.9版~有趣的是,1.9版最值得關注的,倒不是又增加什麼新東西,而是它拿掉哪些舊東西!! 1.9版移除或變動了不少舊API,升級後可能導致現有程式無法相容,為此官方一併釋出升級指南(延伸閱讀: 我的升級筆記[稍後補上])以及升級Plugin(jQuery Migrate)協助開發者避雷保身。之前預告過,jQuery 1.9將是最後一個支援IE...
View ArticlejQuery 1.9升級指南
如前文所說,jQuery 1.9是一次"拿掉哪些東西"比"增加哪些東西"來得重要的升級,大刀闊斧地移除及改掉許多不一致或沒效率的API,而革命總免不了要流點血(還記得jQuery...
View ArticleCODE-縮短版GUID字串
頗特殊的需求: 一個跨平台整合在傳遞以GUID為Primary Key資料時,對方的參數欄位只接受最長30個字元,即使使用16進位數字表示法(例如:...
View ArticleTransactionScope與COMMIT TRAN
手邊的專案遇到一個情境: TransactionScope中包含兩段SQL操作,因未共用連線,預期將啟動MSDTC分散式交易。而第二段SQL操作使用了T-SQL的BEGIN TRAN與COMMIT TRAN。若TrasactionScope未能呼叫TransactionScope.Complete(),第二段COMMIT TRAN的DB寫入動作是否會Rollback?...
View ArticleCODE-透過WPF WebBrowser執行JavaScript
計劃在WPF內嵌WebBrowser元件,並透過JavaScript取得網頁元素資訊。經過一番研究,總算試出解法,簡單筆記如下: (以擷取Google新聞網站的焦點新聞為例)在WPF加入WebBrowser,指定Source連向Google新聞URL,另一項重點則是要指定LoadCompleted事件,該事件會在網頁載入完成後觸發,某些動作(例如:...
View Article迴圈比對條件的陣列長度該不該用變數?
前幾天看到關於陣列跑迴圈時,比對條件裡陣列長度改用變數提升執行效率的討論。亦即for (int i = 0; i < array.Length; i++) ...若改成int c = array.Length; for (int i = 0; i < c; i++)...
View Article簽入TFS Service時發生SSL連線錯誤
臨上班前想把自己小專案的修改Check In到TFS Service,反覆試了好幾次,一直冒出以下錯誤,搞到差點遲到:Multiple errors occurred during the operation, the first of which is displayed below. A full error list is available in the Output...
View ArticleSkype MSN連絡人類別匯入工具Ver 1.0 Beta測試
大家都已經知道MSN(Live Messenger)將在今年3月退休的事(最近又聽說台灣地區下線時間會延到3/15之後),Skype雖然能把MSN連絡人整合進來,但是為連絡人設好的類別通通不見,造成很大困擾!! 以我自己為例,MSN有近300個連絡人,原本分成多組,例如: 專科同學、二技同學、前公司同事、A部門同事、B部門同事、廠商、MVP......
View Article【茶包射手日記】看得到吃不到的Visual Studio專案參考程式庫
遇到一個怪異情境: 由他處取得的專案原始碼,編譯時出現錯誤訊息,抱怨專案沒有參考某個第三方元件--Quartz.dll。但如下圖範例,右側專案參考清單中明明有Quartz這顆元件,但左側using Quartz卻回應找不到Quartz命名空間,光視覺上就很矛盾!其實過去已有類似經驗,問題多與.NET Framework版本有關,例如: .NET 2.0專案參考.NET 4.0元件、或是.NET...
View ArticleSkype MSN連絡人群組匯入工具Ver 1.2.5
前情提要原本只想透過Facebook群組進行封測,承蒙一些朋友轉載宣傳,沒想到演變成全民公測,正式還沒發佈,很多人已經轉完測過(估計已破上萬人次),對這個衛生紙性質的可抛式工具來說,有沒有出正式版好像也不重要,呵! 測試期間收到很多使用者的熱心回饋,給了我很難得的軟體開發經驗(讓我有在寫App的感覺),基於完整軟體產品生命週期的落實,在此宣告,正式發佈版本--Skype MSN連絡人群組匯入工具...
View Article【茶包射手日記】ICON導致程式在XP SP3無法執行
前幾天推出的Skype MSN群組工具,一些網友回報在XP環境無法執行,一執行程式便立刻以當掉(Crash)收場。由於網友回報多半只有"開不起來"、"當掉"等描述,一直蒐集不到錯誤細節,想解決也苦無頭緒。直到FB群組裡一位熱心網友,李大華同學,提供珍貴的當機畫面擷圖,另一位MVP Alex Lee則更進一步在手邊找到可以重現錯誤的XP...
View Article2013 萬金石馬拉松~
第六馬,萬金石馬拉松,也是2013三月三連馬的第一戰!去年底失心瘋加手滑,三月連報了萬金石、櫻花馬、國道馬,每週一場(即江湖所說的連馬),外加海馬、山馬、公路馬大三元。週五氣溫還在26度,週日冷氣團來襲,氣溫驟降到13度,所幸原本預期的冷雨沒下,是乾爽的陰天,低溫無雨無日曬,可說是自己跑馬以來最好的天氣,加上萬金石賽道平坦寬敞,可謂破PB的絕佳良機!俗話說: 天時地利百場難逢,不破PB天地不容!...
View Article