2015年12月28日 星期一

【ASP.NET MVC】The parameters dictionary contains a null entry for parameter 'XXX' of non-nullable type 'System.Type' for method 'System.Web.Mvc.ActionResult GetYYY(System.Type)' in 'Namespace.XXXController'.

對 'Namespace.XXXController' 的方法 'System.Web.Mvc.ActionResult GetXXX(System.Type)' 中不可為 null 型別 'System.Type' 的參數 'YYY' 而言,參數字典含有 null 項目。選擇性參數必須是參考型別、可為 null 的型別,或必須宣告為選擇性參數。

2015年12月21日 星期一

【Entity Framework】Update model from database

由資料庫更新模型後產生大量錯誤

'Namespace.XXXClassName' 和 'Namespace.XXXClassName' 因為名稱相同導致模稜兩可; 請修改名稱或進一步限定名稱

'Namespace.XXXEntities' 不包含 'XXXStoredProcedure' 的定義,也找不到擴充方法 'XXXStoredProcedure' 來接受型別 'Namespace.XXXEntities' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?)

還有其他有的沒的錯誤

【ASP.NET MVC】There is no ViewData item of type 'IEnumerable' that has the key 'xxx'

沒有型別為 'IEnumerable' 且具有索引鍵 'xxx' 的 ViewData 項目。

【ASP.NET MVC】The ViewData item that has the key 'xxx' is of type 'System.String' but must be of type 'IEnumerable'

具有索引鍵 'xxx' 的 ViewData 項目為 'System.String' 型別,但必須是 'IEnumerable' 型別。

2015年12月20日 星期日

【Entity Framework】The ObjectContext might be in an inconsistent state

對資料庫的變更認可成功,但是在更新物件內容時發生錯誤。ObjectContext 可能處於不一致的狀態。
The changes to the database were committed successfully, but an error occurred while updating the object context. The ObjectContext might be in an inconsistent state. and so on.

2015年12月8日 星期二

【SQL】Using WHERE IN Clause in Stored Procedure

在預存程序使用 WHERE col IN ('xxx', 'yyy', ...) 這樣的條件式,且 'xxx', 'yyy', ... 的部分以參數型式傳入的方法。

【Entity Framework】Stored procedure returns int instead of result set

Entity Framework 匯進來的 Stored procedure 沒回傳 Select 結果,而是給你 procedure  執行結果 int 值的問題。


2015年11月19日 星期四

【WinForm】DataGridView AllowUserToAddRows doesn't work


The empty row we use to add new data at bottom is gone.
本來該出現在 DataGridView  最下面新增用那列不見了

2015年11月3日 星期二

【ASP.NET MVC】JQuery validate parameters rule and customer message not working

// 錯誤示範
$("#form1").validate({
    rules: {
        txtName: "required",
        txtAge: {
            required: true,
            min: 18
        }
    },
    messages: {
        required: "*必填欄位",
        min: jQuery.validator.format("*年齡須大於{0}")
    }
});
在試客戶端驗證時碰到的問題

【C#】Simulate Form Post

昨天朋友問起怎麼用程式模擬填入帳號密碼後按下按鈕後取回頁面的行為,讓我想起我大學第一次查這個議題的時候也是這樣下關鍵字。

模擬動作比較麻煩,實務上這個需求我們是會在程式裡組一個 HTTP POST 送給目標的 action url後同樣在程式裡取回內容。(實際上你在表單填完的東西按下送出,瀏覽器也是幫你把它們組成 HTTP POST 送給 action url,再解析 Server 吐回來的內容成結果畫面給你看)

2015年10月27日 星期二

【ASP.NET MVC】JSON from client to server



範例會在 Client 端動態產生 table row 暫存資料,並在 submit 前將表格資料轉為 JSON 格式字串寫入 hiddenfield 以轉給後端,後端會將讀入的 JSON 字串反序列化為 List 後進行簡單的過濾,並再次回給前端。

2015年10月22日 星期四

【Entity Framework】Anonymous type query

Using stored procedure to select an anonymous type result set
在使用 EF 的 ASP.NET MVC 專案中需要跑一段預存程序然後回傳一組不具名型別的資料,
類似

SELECT Student.Name, Class.Name FROM Student INNER JOIN Class ON Student.ClassId = Class.Id

這個 Query 出來的結果就是一個新的型別(既不屬於 Student 也不是 Class),偏偏 EF 的設計就是希望你弄出來的東西是強型別的,而不是像 DataTable 這類的東西(我本來一直天真的以為一定會有可以 Query Result 是 DataSet 或 DataTable)。

2015年10月6日 星期二

【ASP.NET MVC】Ambiguous action

對控制器類型 'BBBController' 上動作 'Action' 的目前要求,在下列動作方法之間模稜兩可: 
型別 a.b.c.BBBController 上的 System.Web.Mvc.ActionResult Action(a.b.c.BBBViewModel)
型別 a.b.c.AAAController 上的 System.Web.Mvc.ActionResult Action(a.b.c.AAAViewModel)

這個錯誤讓我還蠻意外的

2015年9月22日 星期二

【MS-SQL】Batch process by Table-Valued Parameters

Entity Framework 大量 update 時使用 SaveChanges() 會是單筆一次 update 造成效能不彰,這裡參考 Yun-Long Lin 的 solution 是採用 資料表值參數 搭配 預存程式 的方式一次傳遞整個資料集,再於預存程序中進行 update,以降低 IO 需求。

2015年8月21日 星期五

【SQL】T-SQL 建資料表變數 & 暫存表

--資料表變數
DECLARE @TMP TABLE
(
 id int,    
 msg nvarchar(255)
)

INSERT INTO @TMP
SELECT * FROM tMsg

SELECT * FROM @TMP
GO

--暫存表
CREATE TABLE #Tmp (
    id int, 
    msg nvarchar(50)
)

2015年8月12日 星期三

2015年8月11日 星期二

【ASP.NET WebForm】prevent JQuery DatePicker lose state after postback

JQuery DatePicker 在 postback 後會失去日期值的問題,我是簡單的用 HiddenField 去存,postback 發生後若 HiddenField 有值就 recover 回來。

2015年7月31日 星期五

ASP.NET MVC5 實戰訓練營週末班


我本身是寫 Web Form 出身的( 學校4年左右 + 工作 1年多 ),最近重找工作發現 MVC 需求熱絡化因而覺得自己需要轉型所以加入課程。

2015年6月11日 星期四

【ExtJS】雜記

被騙去做這個 framework 的系統改寫專案,很多用法很容易寫完就忘了,所以寫一些給自己之後可以查的筆記。
注意,文中方法包含自訂實作,照抄很可能編不過

2015年5月7日 星期四

【Azure】Login failed for user '{userName}'

Login failed for user '{userName}' \r\nThis session has been assigned a tracing ID of '{GUID}'.
撰寫 MVC Web App 專案時 Controller 中使用 Entity Framework 碰到的問題

2015年5月5日 星期二

【Web API】Web API mix with RPC

基本 Web API 是 RESTful 結構,每個 URI 對應的應該要是資源而不是方法(routing 中的 action),但是剛開始學還不太懂,比方如果我同時需要  GetAll()、GetById(int id)、GetFirstByKeyword(string key)、GetByKeyword(string key) 四種,那後三者的 routing 會重複要怎麼解決,以 RPC 的角度就很直觀,但不把 action 加回去還真不知道要怎麼做,不過網路上可以找到的教學還不少,只能說看來跟我有同樣疑問的人還不少。

2015年4月22日 星期三

【Visual Studio】Visual Studio 除錯

摘錄一些自己覺得有用的除錯技巧。
target version:VS 2013 Community(ENG)、VS 2013 Ultimate(ch-tw)、VS 2010 Ultimate

2015年4月21日 星期二

【Visual Studio】Visual Studio 快捷

不見得都是VS,有些其實是鍵盤本來就有功能,只是上課不見得會特別去教
target version: VS 2013