【茶包射手日記】ImageButton+UpdatePanel+IE10=ASP.NET錯誤
系統Log顯示,某個運作多年的網站最近冒出以下錯誤:System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.FormatException: Input string was not in a correct format....
View Article再探文件套表 - Word套表與轉存PDF
需求如下:有多份要遞交客戶的文件,由於格式與內容經常要微調,故規劃以Word檔形式由使用者自行編排修改。執行時由程式套版查詢資料庫後置換其中欄位,並以PDF格式輸出。Word套版這事兒已是老生常談,但這回的特殊需求是必須轉成PDF格式。原本盤算用OpenXML...
View Article不用IIS也能執行ASP.NET Web API
在某些情境,桌面環境執行的程式(Console、Windows Form、WPF… 等)也需要提供API管道供外界呼叫,例如: 先前提到的Word轉PDF服務、ERP UI接受外部(如Excel VBA)匯入資料... 等等。設計API管道時有不少選擇: DDE、Anonymous Pipe/Named Pipe、Socket......
View Article【範例】呼叫Self-Hosted ASP.NET Web API
前一篇文章提到不靠IIS在Console/WinForm/WPF程式裡也可以執行ASP.NET Web API,接著我們更深入一點,談談Client端如何傳遞資料給ASP.NET Web API。在ASP.NET Web API的傳統應用,Client端多是網頁,故常見範例是透過HTML Form、JavaScript、AJAX傳送參數資料給Web API;而在Self-Hosted ASP.NET...
View Article我的App開發夢--「國語辭典」上架囉!
去年底趁著BUILD大會的優惠,開開心心花錢註冊好Windows Phone開發者帳號,熱血沸騰地打算邁向偉大的App開發航道,沒想到就這麼日復一日在上班下班與日常瑣事中消磨著,一眨眼半年過去,別說App,連個屁都沒有。五月某一天,忽然有股衝動,憶起當年身處iPhone圍攻仍堅守四行倉庫的堅持,為的不就是衝著"身為程式魔人居然不會在自己手機上寫Code將是一生的污點"?...
View Article【答客問】JavaScript修改WebForm DropDownList選項
【案例】某個ASP.NET WebForm網頁,加入JavaScript動態修改欄位,送出表單時出現錯誤: (英文版) Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or...
View Article【茶包射手日記】時好時壞的SSRS報表訂閱
案情如下:SSRS 2008的某份報表,每天有三次訂閱排程寄送報表給使用者。怪異的是排程時好時壞,有時一天成功一次、有時成功兩次,三次都成功或失敗的情況也有。失敗會隨機出現在早、中、晚,毫無規則可言。對SSRS訂閱功能研究有限,算是從頭摸起。首先在訂閱管理只看到"The delivery extension for this subscription could not be...
View ArticleOutlook農曆日期有誤
聽到有人討論,才發現Outlook今年(2013)的農曆日期有誤:6/12明明是五月初五端午節,Outlook的顯示卻是五月初四。研究後發現,這是Outlook與官方採用的萬年曆版本不一致造成。我國現行農曆曆書採用南京紫金山天文台萬年曆,今年農曆四月是小月為29天,故6/8應是五月初一而非Outlook所顯示的四月三十;而清朝制訂的萬年曆曆書則主張今年農曆四月是大月30天,因而產生了一天的差異。(參...
View ArticleBootstrap!
Bootstrap是近來紅透半邊天的網頁設計無敵懶人包,號稱是網頁攻城獅的救星,連我這種先天不足後天失調,美感殘缺到可以領殘障手冊的設計麻瓜,只要下載安裝CSS及JS檔,照著範例三兩下就可以打造出質感頗佳的網頁,猶如流浪漢忽然能拉小提琴般令人稱奇,要說化腐朽為神奇,莫此為甚。(還沒見識過Bootstrap的朋友,可以看這篇介紹,Bootstrap網站上有頗為詳細的示範與教學,好消息是MVP...
View Article【笨問題】遠端桌面的鋸齒字
一直以來,使用遠端桌面連上筆電的Windows 8,畫面就像下圖,文字是帶著鋸齒的…不知怎麼的,沒多想認定這是Windows 8支援遠端桌面的限制,就這麼將就用了好久。(現在回想,是鬼迷心竅吧!)前幾天福至心靈才開始起疑,ClearType技術出來很久了,怎麼可能在Windows 8遇到遠端桌面就破功?...
View Article【茶包射手日記】ReportViewer在ModalDialog中無法列印
發現以showModalDialog()顯示ReportViewer網頁,按下列印按鈕會彈出錯誤:嘗試取得目前的視窗時發生錯誤。 錯誤: 發生錯誤,無法完成操作 8007f305。同一個ReportViewer網頁只要不用Modal Dialog方式開啟就不會出錯。在Microsoft Connect上找到報案記錄,證實為Bug且短期內不會修正。研究發現後找到幾種繞道方法:使用【Ctrl +...
View ArticleCODE-透過程式執行T4範本
最近在開發自動化套件,想在自己寫的程式產生器中借用T4產生Code。典型T4應用多發生於專案編輯階段,透過存檔動作或PowerShell Script產生程式碼。簡單嘗試後,發現T4早已設想周到,在程式中用T4產生文字是小菜一碟,透過Runtime Text Template(執行階段文字範本)即可輕鬆達成,...
View Article2013海山馬拉松~
毫無期待的第九馬。與賽事本身無關,是自己在三月三連馬後進行歲修,原本希望透過休養讓右腳足底筋膜炎徹底解決,4月報名時未料到恢復期比想像長,目前雖已可跑上十多K無大礙,但尚未完全痊瘉操不得,未處於最佳狀況加上已屆酷暑,天氣預報氣溫高達34度,勢必倍加艱苦。所以這次的願望很小: 以身體狀況為先,苗頭不對棄賽無妨,若行有餘力,無傷完賽就好。清晨五點多,天色就已經很亮,夏至剛過,今天想必很"夏天"!...
View ArticleJSON日期轉換的時區陷阱
在使用Kendo UI DatePicker時,出現選好日期送至後端卻變成前一天的狀況。以下程式可重現問題,kendoDatePicker所選日期透過.value()可得到一個JavaScript Date物件,JSON.stringify()後傳至Server端,使用Json.NET還原回DateTime後,以ToString("yyyy-MM-dd...
View ArticleCODE-將CHAR(1)欄位轉換為列舉型別
工作上常遇到的需求: 旗標性質欄位在資料庫被定義成CHAR(1),用單一字元代表不同意義,例如: 1=新增、2=修改、3=刪除、A=同意、R=同意、W=撤回、C=取消。針對這類旗標,UI常會使用下拉選單或Radio...
View ArticleWeb Site專案SQL Server Compact 4.0元件的手動部署
SQL Server Compact 4.0是輕量級的內嵌式資料庫,不需要安裝成系統服務,只需引用相關DLL,載入DB檔案,用起來跟SQL Server幾乎一樣,也支援Entity Framework,很適合小量資料、少數使用者的小型應用。手邊有個Web Site專案,第一次試用了SQL...
View ArticleKO範例23 – 單選或多選兩用Checkbox清單
利用Checkbox模擬Radio清單的互斥選項是我常用的UI風格,之前曾用jQuery實作過,現在網頁都搬到Knockout的場子,少不了也要重現相同功能,順便考驗KO的能耐。(為何不直接用下拉選單就好? 這裡有一個好理由)廢話不多說,直覺用以下Demo定義規則! (PS: 寫得太順手,不小心連多選的版本都寫進去...
View Article使用Excel維護多國語系字串資源檔
針對多國語系,.NET提供了不錯的解決方案 -- 透過.resx資源檔定義字串,透過ResourceManager或Visual Studio自動產生對應的類別[*.Designer.cs]取用。要新增語系支援,只需增加該語系的resx檔,提供各項目對應的文字,配合CultureInfo切換就能輕易切換語系顯示。(延伸閱讀: 逐步解說:使用資源進行 ASP.NET 的當地語系化) 像是以下這個例子:...
View ArticleOffice自動儲存,我要輕輕為你唱首歌
過去只知道Office的自動儲存功能能在當機時救回部分未儲存內容。最近才發現,連自己手殘誤砍,自動儲存也能讓你少搥幾下心肝。故事是這樣: 我在Excel編輯資料,由文件末端複製了一大段空白列,準備插入中段後輸入資料,明明該用【插入複製的儲存格】,卻鬼迷心竅按成【貼上】而不自覺,就這麼把幾十行打好的資料給蓋過了。等要插入的資料打完,立刻存檔求心安,接著向下找後半部的資料繼續改... 才發現資料不 見...
View Article