之前一直使用asp做開發,ASP相對asp.net來說沒那麼智慧但是可以讓我們了解web開發的本質如HTTP的POST請求GET請求原理,另外如果上傳檔案需要設定表單的enctype屬性等。我認為與其ASP.NET智能不如說他傻瓜。初學ASP.NET的的時候由於微軟大力宣傳伺服器控件的優勢所以有一個誤解認為在寫ASPX頁面的時候應該盡量使用伺服器控件,如果用了HTML控件反而感覺不專業。但是用了之後發現很不容易控制它的外觀,如果要進行DOM操作還需要引用的它的clientId屬性遠沒有直接操作HTML方面另外還會生成一些不必要的代碼所感覺很不習慣。
使用伺服器控制項的好處是可以在服務端後台程式碼(*.VB/*.CS)中透過ID呼叫它,對它進行程式設計。如果不需要在服務端對它進行編程訪問,應該盡量避免使用伺服器控件,因為伺服器控件最終都會產生HTML標記,在處理伺服器控件時需要對它進行編譯生成相應的HTML,這樣會導增加伺服器負載導致頁面的效能降低。所以在可以直接使用HTML標記的情況下,應避免使用伺服器控制項。伺服器控制項他只是提供了一種把動態HTML轉換為伺服器控制項的一種方式。這點其實跟ASP很像。在ASP中透過模板類別也可以實現只是這種工作需要自己去手動編寫程式碼實作。
在使用girdview時會產生很多亂碼也就是所謂的viewstate這樣一方面佔用了大量的網路頻寬另一方面也影響HTML的簡潔。所以如果不使用的更新刪除添加功能只是為了展示數據的話的應該關閉它的viewstate,也可以直接在web.config文件中禁用下面代碼演示了在web.config文件中禁用viewstate的方法.
<pages enableViewState="false">
.....
</pages/>