2011年1月22日 星期六

文章分類:MVC


2011-1-28 星期五

MVC3 Partial Output Cache - VaryByOaram Demo

在本Blog前一篇文章中(MVC3 Partial Output Cache - Simple Demo),我們舉了一個簡單的例子,來說明MVC 3中的Partial Output Cache機制,那個例子在同一個網頁上顯示兩個時間字串,一個時間字串沒有cache,另一個時間字串有設定cache 10秒鐘,由那個例子可知道MVC 3 Partial Output Cache運作的基本方式與程式寫法。


但一般網站中都是佈滿各種資訊在一個web page中,有些需顯示即時資訊,有些靜態資訊則會設定cache,以加快網頁顯示速度,本篇文章中,我們以Northwind資料庫為例,針對查詢同一個產品類別(CategoryID)的結果,來進行Partial Output Cache:也就是透過設定VaryByParam的方式(本篇範例為VaryByParam=CategoryID)...MORE



2011-1-26 星期三

MVC3 Partial Output Cache - Simple Demo

在MVC 3中,我們可以使用PartialView()的方式來完成對網頁局部資料進行Output Cache,而不是全部網頁內容都Output Cache。

下面範例我們要建立兩個區域,兩個區域各顯示目前的時間字串,一個區域沒有進行Output Cache處理,所以當網頁refresh時,時間會一直被更新成最新時間;另外一個區域我們設定10秒鐘的Output Cache,所以雖然網頁一直被refresh,但時間字串經過10秒後,才被更新,故舊的時間字串被cache了10秒鐘,以下為實際範例程式碼描述。...MORE



2011-1-22 星期日

MVC 專案範本可移除多餘web config描述

在減輕web server負荷以加快網站處理速度的議題中,我們通常可以透過移除沒有用到的元件(component)、模組(module)或是參考(reference),來減輕web server的負荷。這篇文章以MVC為範例,並說明基本上那些web config中沒有用到的模組是可以移除,讓web config看來更乾淨(Dry),進一步也減輕一些web server負荷。

我們在建立MVC專案時,若是以「Internet Application範本」來建立MVC專案,而非是以「空的專案範本」(Empty Template)來建立專案,
如下圖:...MORE



2010-12-21 星期二

MVC 與 HTML5

雖然MVC3 RC2已經發佈了(Announcing ASP.NET MVC 3 RC2),但是MVC本身對與HTML5的開發支援還是有待加強。好消息是在微軟的codeplex.com網站中,可下載在MVC中欲使用HTML5開發的輔助工具,名為MVC HTML 5 Toolkit。以下就實際舉一個MVC 2專案來說明如何使用這個HTML5的工具。...MORE



2010-10-10 星期日

.NET 4 + MVC2 設定真正 ValidateRequest = false 並回應更友善的錯誤頁面與錯誤訊息

因為.NET 4中,對惡意程式碼的欄截(AntiXSS),已經提升到BeginRquest的層面了,請看ASP.NET4 WhitePaper,若我們再搭配MVC2架構,想要「不啟用」ValidateRequest,則原先我們要在View頁面上自訂
...MORE



2010-10-03 星期日

Other Way For Setting Customer Error Page in MVC2

本文舉出3種方法去控制MVC2中,如何自訂Error Page,釐清在各個View中加入專屬於某個View的自訂Error page,或者是整個系統共用一個自訂Error Page的實際作法,一般微軟官方文件或其它技術Blog中並沒有針對這點加以整理與說明。
...MORE



2010-10-03 星期日

MVC2 Trim String

在MVC2中,加設我們有一個產品(Product)的資料需要維護,我們在Edit或者是Create的Form中,我們修改了一些欄位上的資料,我們希望可以將每個欄位多餘的空白字元去除(trim space),以免儲存回資料庫後,再次取出時,會產生錯誤,例如我們如果在Create的Form中,將產品的識別碼(PrdID)給輸入「A001  」,後面部小心多了一些空白字元,若是沒有在儲存回資料庫前,將這個欄位後面的空白去除掉,當這項產品儲存在資料庫後,我們再次輸入「A001」,要將這項產品編號的產品給查詢出來時,系統就會告訴我們找不到這項產品。因為資料庫存的是「A001  」,而非「A001」。本文基於MVC的架構,自View-Colltroller-Model這三個層次順序,由外圍到底層,說明如何簡單的使用既有的方法去達成去除字串後面多餘的空白字元。

...MORE


2010-08-03 星期二

如何在Html.TextBoxFor內設定Disable TextBox欄位

在一般Web Form應用中,我們可用TextBox控制項中的Enabled = "false" 來達成這個要求,但在MVC應用中,因為不採用控制項的方式,故我們需要在Html.TextBoxFor的屬性去標示。...MORE


2010-07-22 星期四

使用Entity Framework設定Complex Types-以MVC中使用stored procedure為範例

在MVC使用Entity Framework來存取資料庫中的Stored Procedure應用中,若是遇到Stored Procedure回應出來的是一組複雜資料欄位,而這組資料欄位是目前專案中沒有一個類別與之相對應,此時,我們可以另外建立一個新的類別,也可以使用Entity Framework中的Model Browser視窗中的Complex Types來建立這個新的資料欄位組合...MORE



2010-06-24 星期四

ASP.NET MVC2 如何使用多國語系資源檔

在ASP.NET MVC2中 , 我們想要在View或者是欄位驗證中 , 使用到 App_GlobalResources這個目錄下的多國語系資源檔 , 我們可以用下列方式來設定 .

1.假設目前有一個專案檔TOY , 且已經建立好App_GlobalResources這個目錄 , 我們點選該目錄後按右鍵選擇建立一個新的Resource檔案 :...MORE

沒有留言:

張貼留言