[C#] using statement(陳述式) 資源(IO)控管好寫法!

  • 1981
  • 0
  • C#
  • 2016-08-03

在幫同仁Code Review 的時候,看到「標準」的IO寫法,如下:

   try
   {
      FileStream fileStream = new FileStream("c://test.txt",FileMode.Create,FileAccess.Write);
      //IO Process...
      fileStream.Close();
   }
   catch (Exception _Exception)
   {
     throw;
   }

就是基本的try catch,然後就是 Release Resource (Dipose),但其實有更好的寫法,就是使用「using statement」,如下:

...繼續閱讀 »

[Asp .Net MVC] MVC Client 端驗證 (Unobtrusive Validate)

前陣子有一篇文章 [Asp .Net MVC] AjaxHelper 失效了!Why? ,在介紹使用 Unobtrusive Ajax 來讓AjaxHelper 的 Form Submit 正常,

往下開發的時候,發現我們在使用MVC 資料標記(Data Annotations),每次都得回到後端檢核後才能知道前端傳回來的資料是否符合條件,

才發現原來沒有使用到 Unobtrusive Validate 的機制來做Client 端的資料檢核。

...繼續閱讀 »

[Asp .Net MVC] ViewMode vs DTO(Data Transfer Object)

View Model 與 DTO 到底有何不同的時候,想用這篇文章解釋一下差異。

簡單來說View Model 是一個 POCO 物件,一個POCO 物件可以包含以下行為:

  1. 保留狀態(State)。
  2. 具有行為(資料驗證...)

最重要的就是具有行為,我們在做前端畫面時,很常透過Data Annotation 的方式,來驗證前端傳來的資料是否符合我們的定義,

...繼續閱讀 »

[Kendo] KendoGrid 使用「KendoGridRequest」來達成Pagger, Sort 的功能!

公司產品使用Kendo 來製作前端畫面已經一段時間,其中Kendo Grid 更是大量使用,

基於效能與使用性的考量,Grid 的部分還自行客製了「分頁」與「排序」的功能,

因此就自行寫了許多Code 來達成這些目的,當然在一次次的維護與除錯後,

這些Code 變得又臭又長且非常難以維護,每次碰到問題時接手的人都要花很多時間來看這些Code。

最近同事有提出Kendo 本身就有提供「KendoGridRequest」來協助我們完成「分頁」與「排序」的功能。

...繼續閱讀 »