KO範例28 - 轉換對象(排除自己)之下拉選單連動
專案需求一枚,用於匯率換算。來源幣別及目標幣別以下拉選單方式顯示,想當然爾,目標幣別跟來源幣別相同還轉換個屁,因此規格提到: 目標幣別的下拉選項應包含所有幣別,但排除來源幣別當下的選取幣別,特殊的下拉選單連動需求應運而生。要用KO實現此一連動並不困難:...
View Article【茶包射手日記】VS2012 Update 3安裝失敗
在一台新裝的Windows 7安裝VS2012,啟動後出現VS2012 Update 3更新通知,順勢執行Update 3安裝程式,遇到以下錯誤:Setup Failed! Install cannot continue because some required components failed. Setup Engine: The pipe is being...
View ArticleJson.NET技巧兩則: 忽略屬性及列舉轉字串
開發主戰場漸漸移到前端,應用Json.NET的深度也逐步增加。今天學會Json.NET技巧兩則,筆記如下:情境1:待序列化物件的部分屬性純粹供.NET端應用,不需傳到前端,希望能予以排除以縮短JSON字串,減少頻寬浪費。解決方案方法1 - 在屬性加上[JsonIgnore],負向表列哪些屬性不要序列化。 方法2 -...
View Article【笨問題】IE9的「console未被定義」錯誤
一直以來,有個鬼現象纏著我揮之不去,console.log常因不明原因在IE9出現SCRIPT5009: 'console' is undefined (console未被定義) 錯誤!我當然知道IE從IE8+才支援console物件,但如上圖所示,網頁明明是IE9標準模式,為什麼IE9卻說console物件不存在? 但進行偵錯,console.log()卻又正常!笨了好久,今天才解開謎團:...
View Article讓IE直接顯示JSON結果
IE有個討人厭的行為。當網頁程式以JSON格式傳回結果(JSON字串,且Content-Type設為application/json),在IE需下載另存檔案才能檢視,不像Chrome或Firefox可直接看結果。當需要反覆測試,"重新整理網頁->選取位置另存檔案->開檔看結果"的迴圈容易誘發焦慮、煩躁、爆怒等症狀,而一般患者多會啟動生物本能,默默關上IE改開Chrome尋求解脫...例如...
View ArticleVS2012 JavaScript IntelliSense會忽略底線起首的屬性
我寫了一個CRUD輔助程式庫,內建自動抓取ViewModel進行JSON序列化的功能,其中有條"序列化時排除ViewModel中名稱為底線開頭屬性"的慣例(Convension)。前陣子接到同事回報,配合此慣例宣告ViewModel,卻發現底線起首的屬性會被Visual Studio 2012的JavaScript...
View ArticleIE9 Bug-滑鼠移過導致高度增加
日前曾遇此蟲,爬文解決而未寫KB。今日同事再遇,腦中只餘殘存印象,戳力苦思蒐羅,方復拾回,嗔甚,為文誌之以杜後患。網友Brian Richards對這個問題做了清楚的分析,也提交到MS Connect,其發生條件包含:DIV設為overflow: auto且指定寬度 DIV內含TABLE,寬於DIV而產生水平捲軸 TD中元素使用CSS :hover進行樣式變化...
View Article【茶包射手日記】ASP.NET MVC 4專案4.5 Framework轉4.0
記錄在Windows Server 2003 IIS6部署ASP.NET MVC 4專案的經驗。部署第一步是複製檔案、設定Web Application、萬用字元應用程式對應等。(相關眉角可參考保哥的ASP.NET 4.0 安裝在 IIS6 最常遇到的四個問題)第一枚茶包現身! 當初新增專案時一時不察,選了.NET Framework...
View ArticleASP.NET MVC Filter練習-限定本機存取
在ASP.NET MVC專案新增了開發偵錯專用的Controller,某些Action想限定從localhost存取,以免遭到誤用。逐一在Action加入檢查IP邏輯是種做法,但如此有點浪費ASP.NET MVC強大的擴充性,就好比提著子彈上膛的M16步槍上戰場,不扣板機卻拿槍托狂敲敵人的頭,不免有暴殄天物之憾。ASP.NET...
View ArticleASP.NET MVC路由練習-API分版
手邊ASP.NET MVC專案有個隱藏需求,預計上線不久要推出新版,有一段時間新舊版本並存。有幾個供AJAX呼叫的API性質Controller,希望未來出新版時名稱能沿用,不要弄出BooV1Controller、BooV2Controller這種名字,最好在URL路徑加上v1/v2等就能搞定,例如:第一版: ~/api/v1/boo/action 第二版:...
View Article【笨問題】紅杏出牆的internal類別
以下的.NET專案,有什麼不合理之處?.NET開發者都知道,.NET有四種存取層級: public、private、protected及internal。public是公開對外、private只限同類別內存取、protected對繼承的子類別開放、而internal則只對同一Assembly內的其他的型別公開。在接手維護的專案看到如上述圖片的奇蹟:...
View Article【茶包射手日記】TEMP指向RAMDisk導致Windows更新失敗
前幾天,工作機出現Windows更新重開提醒,從善如流,重開後卻看到駭人畫面: Failure configuring Windows updates Reverting chanes. Do not turn off your computer系統還原修改後自動重開,卻還是出現類似訊息(有Preparing to retry等訊),之後再度自動重開。心頭一涼,該不會Windows...
View Article【茶包射手日記】惱人的IE10 9C59安裝錯誤
地表上最強大的開發工具 -- Visual Studio 2013於10/17 RTM了!!公司的工作機是吃飯的傢伙,豈有不馬上升級的道理? 先前在家裡Windows 8安裝順暢無比,沒想到要裝在Windows 2008 R2卻歷經千辛萬苦,如赴西天取經一般波折...我的Windows 2008 R2要安裝Visual Studio 2013,有兩項事前準備工作: 完成最新的Windows...
View Article2013艋舺馬拉松~
第11馬,2013艋舺馬拉松。賽前與教練團討論,總教頭謎之聲強力主張: 因後面尚有貓空及田中馬馬相連,加以腳傷未瘉及本屆"辦桌"重現江湖,故為本場賽事定調,提出16字箴言: 戒急用忍,保全實力;從容不迫,主攻辦桌。聽到總教練這麼說,心中無比寬慰... (盛竹如旁白:...
View ArticleVS2013使用IE10偵錯出現錯誤: 找不到sourcePath屬性
使用VS2013 RTM偵錯網頁出現錯誤: Unhandled exception at line 77, column 9 in httq://localhost:49498/9c5e62d30ac64961af17a184019bb19e/browserLink0x800a138f - JavaScript runtime error: Unable to get property...
View Article【.NET隨堂考】object == string比對
來個.NET隨堂測驗,請解釋以下現象:在以上程式,bool test = d["A"] == "1"所得結果為true,代表二者相等;但由Immediate Window顯示d["A"] == "1"卻是false,為什麼?首先聲明: d["A"] == "1"的寫法有問題! d的型別為Dictionary<string,...
View ArticleWindows記憶體都用到哪裡去了?
不知大家是否跟我一樣,心中有個懸而未解的謎: 開啟工作管理員,看到記憶體已被用掉14GB,所剩無幾。切到程序列表逐一清點: Visual Studio說它只用了240MB、一堆Chrome個個聲稱自己只耗用不到100MB、IE強調自己克勤克儉只微取50MB、SQL Server大聲喊冤: "不要看我,我超省的! 只用不到75MB,比Chrome還少"......
View Article2013貓空半馬~
同一場路跑連續四年參加(1, 2, 3)是什麼感覺? 賽前一如往例找總教練謎之聲討論戰略,他忙著看半澤直樹,連頭也沒抬只丟一句" 隨便你啦! 別吵我"把我打發......
View ArticleVisual Studio 2013開啟HTML檔設計檢視
VS 2013 RTM的隔天,我的工作環境就迫不及待全升級成Visual Studio 2013,VS2012的功能都有,再多了BrowserLink、CodeLens等好用功能,Coding樂趣加分不少。今天倒是發現VS2013有一項改變:...
View Article