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