Startup 類別是 OWIN 在啟動時,第一次會執行 Configuration 方法,
在這方法裡面就能使用 IAppBuilder 來建構各種應用的設定,
Startup 類別是 OWIN 在啟動時,第一次會執行 Configuration 方法,
在這方法裡面就能使用 IAppBuilder 來建構各種應用的設定,
TreeView Binding 的範例:
如果因為使用者環境關係,只能使用 .NET Framework 4 來開發,
並且想使用 async/await 時,就得額外參考 Microsoft.Bcl.Async 的 DLL,
但為了確保在 Windows XP, Windows 7, Windows 8.1 都能執行,
所以我在每個環境都執行了安裝 Microsoft.Bcl.Async 套件才有的 GetResponseAsync 擴充方法(不然目標版本必須為 .NET Framework 4.5 以上才有),
順利在 Windows 7, Windows 8.1 都能正常執行,那我猜測 Windows 10 也應該沒問題,
但往往沒這麼順利,悲劇就發生在 WIndows XP… 接下來讓我們看如何解決
原本以為 .NET Framework 4 原本沒支援 await/async 就不能使用,
果然微軟還有額外推出可支援 await/async 的套件
問題描述:
如果 DataSource 會動態改變的話,就必須給予新的 DataSource,
這裡有個很妙的部分,就是如果將 DataSource = null,
之後在設定 DataSource = getTestData();
會發現 ComboBox 所顯示的會變成類別的型別字串…
string.replace 的方法,範例:
var result = "hello".replace("he", "my");
結果
myllo
但這篇主要是講使用 Regular Expression 的 replace,再來個範例:
var result = "hello".replace(/e\w/, "abc");
結果
habclo
沒錯,只要將第一個參數改為 /xxx/ 就是 Regular Expression 的 pattern 囉。
接下來說明 replace 的多載方法
有時看見 javascript 寫 RegExp 的 Pattern(規則運算式模式) 時,例如
var reg=/hello/i;
能看到要比對的是 hello 字串,但最後面的那個 i 是什麼?
一開始還真的不知道要下什麼關鍵字去尋找,原本我是從別的語言學到 Regular Expression,
看到 JavaScript RegExp Reference 後,最後面這個 i 字元是一種 modifiers,
使用 Form 時,我們可以從 FormClosing 事件知道 Form 準備要關閉了,
使用 UserControl 卻沒有這樣對應的公開事件,
但 Control 已經有設計這樣的 protected event,叫做 OnHandleDestroyed,
下面 TABLENAME 是相同的資料表,主要 ID 與 NAME 加起來不可重複,但只想找到每筆 ID 最大修改時間的 NAME,SQL 如下
SELECT A.ID,
MIN (A.NAME) AS NAME
FROM TABLENAME A
WHERE MODIFYDATE =
(SELECT MAX (MODIFYDATE)
FROM TABLENAME B
WHERE A.ID= B.ID
GROUP BY A.ID
其中 MIN (A.NAME) 只是避免如果真的有重複修改的時間,只取一筆。
摘要:[經驗] 流程狀態