ASP.NET MVC 技巧 - 利用 Layout Page 與 Controller 繼承簡化程式碼
分享我 ASP.NET MVC 設計常用的小技巧一則。 假設有個網站版面要求如下,所有 View 上方統一放上黑底標題列,標題列左方為 View 標題,右上角則為使用者帳號及姓名,下方白色區域則為 View 的實際內容: 這類情境很適合用 Layout Page 處理。我們設計 ~/Views/S... Read More
View Article消除 Git 同步產生的惱人 Merge branch Commit
若你的 Git 專案有多人同時開發同一分支,在將修改結果 Push 到版控伺服器 (Github/TFS) 時應常會遇到以下狀況: 詳細訊息如下: Error: failed to push some refs to 'https://github.com/darkthread/StepperEx... Read More
View ArticleVisual Studio Git Push 前置作業 - Squash
從 TFVC 轉換到 GIT 後(延伸閱讀:該用 TFVC 還是 Git?),我的版控習慣與態度有兩大改變。 以前使用 TFVC 時,程式要丟進 TFS 伺服器才能做版控,我常在本機寫些實驗性質或私房工具小專案,不好把公用伺服器當自己家,就沒做版控無法享受改壞可以重來的便利;GIT 支援離線使用,現... Read More
View ArticleASP.NET MVC 範例:匯入 Excel 取代逐筆輸入
寫網頁的同學們應該都有遇過這種需求?只要是矩陣式網頁輸入介面(如下圖),幾乎都會遇到使用者許願:「我能不能先在 Excel 敲好再用匯入的?」 說實在話,如果我是使用者也會覺得這是好用介面的必備條件。網頁介面再怎麼厲害,跟 Excel 永遠不會在同一個量級,加上許多使用者終日與 Excel 為伍,... Read More
View ArticleLINQ Except() 比對自訂類別
寫 LINQ 再遇上 Value Type vs Reference Type 比對問題,雖已是老掉牙的觀念,卻還是失神絆了一下,特筆記備忘。 LINQ Except() 可以快速列出兩個 IEnumerable<T> 集合的差異項目,Intersect() 則可找出交集項目,比對資料超... Read More
View ArticleASP.NET 小技巧 - 防止 Session 逾時與網頁閒置偵測
網友問到:網頁使用 ASP.NET Session 保存資料,因輸入內容較多加上常因使用接電話或離開辦事,操作過程常超過 20 分鐘,送出表單時 Session 資料早已逾時被清除,以致出現錯誤。遇到這種情境,最簡單的解法是在背後定時送出請求讀取 Session 避免逾時,我習慣稱它為 Heartb... Read More
View Article【茶包射手日記】TransactionScope 逾時問題
系統遭遇亂流,有段 ADO.NET 程式開啟 Transaction 進行資料庫更新,執行期間會呼叫第三方 Web Service,依回傳結果決定 Commit 或 Rollback。這幾天因 Web Service 異常,偶爾執行時間會超過 60 秒(正常狀況應不超過 3-5 秒),超出預設的 W... Read More
View Article不限量但登錄才有的優惠?談折扣門檻
這幾年流行一種「登錄才有但無限量的優惠」: 優惠沒有限量,所以登錄不是為了限制人數先搶先嬴。登錄程序只要按個鈕,不用填寫資料,不是為了蒐集行銷個資。動動手指就能享受優惠,幾乎等同白給,但又不是全面降價?商家打的是什麼算盤?背後的原理是什麼? 類似設計在生活中比比皆是,例如:(都是我親身經歷過的) ... Read More
View Article.NET Core 專案的 packages 資料夾跑哪去了?
改寫 .NET Core 後逐漸感受到與 .NET Framework 專案的差異,例如:程式庫一樣是透過 NuGet 安裝及更新,但 .sln 目錄下熟悉的 packages 資料夾不見了。 Visual Studio 建立 .NET Framework 專案時,會將下載的 NuGet 程式庫放在... Read More
View ArticleASP.NET Core 練習 - 在 Razor Pages 專案加入 MVC
ASP.NET 5 採用 One ASP.NET 概念,建立專案時可依需求勾選啟用 Web Forms、MVC 及 Web API 功能: ASP.NET Core 的做法不太一樣,必須由 API、Web Application (Razor Pages)、Web Application (MVC... Read More
View ArticleASP.NET Core 練習 - 啟用 Windows 驗證
從 ASP.NET 5 轉進 ASP.NET Core,有些地方需要重蹲馬步打基礎。 拿最近遇到的切換匿名存取或 Windows 驗證為例。ASP.NET + IIS 的話是從 IIS 管理員或由 web.config 設定;IIS Express 則可用 Visual Studio 專案屬性視窗... Read More
View ArticleASP.NET Core 練習 - EF Core 單元測試
想用單元測試專案單獨測試 ASP.NET Core 裡的 EF Core DbContext,一時間傻住不知如何下手,就知道又有基本功要練了。ASP.NET Core 重度依賴 DI,網站專案如要使用 EF Core DbContext 物件需在 Controller 或 Service 建構式新增... Read More
View ArticleASP.NET Core 練習 - 從類別程式庫讀取網站 appSettings
再來一個原本在 ASP.NET 不用但搬到 ASP.NET Core 讓我傻住的簡單需求 - 如何在類別程式庫(Class Library)讀取 ASP.NET Core appSettings.json 裡的設定? .NET Core 不再使用 exe.config 或 web.config 存放... Read More
View Article淺談 .NET 類別程式庫跨平台開發
在 Visual Studio 2019 新增 Class Library (類別程式庫)專案,現在有三個選項: Class Library (.NET Standard) Class Library (.NET Framework) Class Library (.NET Core) 這篇簡... Read More
View Article【茶包射手日記】Git 連 TFS 伺服器之登入身分設定
目前碰到的工作環境,幾乎都有裝 Visual Studio,首次連上 TFS Git 時會使用 Visual Studio UI 設定使用姓名、Email,記憶連線 TFS 伺服器的帳號密碼,之前改用 Git 命令列工具什麼都不用設定就能操作。這次協助設定了一個沒有 Visual Studio 純用... Read More
View ArticleRegex.Split 單行符號切割
紀念在一個 Regular Expression 小問題卡住的二十分鐘。 手上有份 Oracle DDL (Data Definition Langauge) PL/SQL 指令稿,其中以 / 符號串接多組資料表、View 及 Trigger 建立指令,在 SQL Plus 裡 / 符號可觸發執行動... Read More
View ArticleWindows 10 Python 二三事
我的 Windows 10 早先從 https://www.python.org/ 下載安裝過 Python 3,前幾天在 Cmder 下指令想跑 Python 時卻彈出 Microsoft Store 安裝提示: 依循提示安裝完,在 Cmder 使用便正常了: 不過,當我試著由 Cmder 的... Read More
View Article在 CentOS 安裝 Oracle XE 18c
在家想測試 Oracle,手邊沒有活體做實驗心癢難耐,來裝個 XE 版玩玩好了。 Oracle 有所謂的 Express Edition,XE 版,有 3 個使用者 PDB、2 個 CPU Core、2GB 記憶體、12GB 總資料量的限制,但可免費安裝使用,甚至可用在正式環境,只是不提供修補更新及... Read More
View ArticleOracle 12c PDB
在 Oracle XE 18c 新建帳號 CREATE USER 出現 "ORA-64096 invalid common user or role name",胡亂爬文設好帳號密碼,卻又 "ORA-01017 invalid username/password;log... Read More
View ArticleODP.NET CommandText 跑多行指令
對 ODP.NET 如何跑 Oracle 多行指令,我始終一知半解。何時可以加分號「;」?何時該用 begin end?會為常冒出 Encountered the symbol "xxx" when expecting one of the following: ... 錯誤?... Read More
View Article