關于ASP.NET的實用技巧,其實我們已經接觸到很多了。下面為大家總結一下,供大家參考。
1.跟蹤頁面執行
設置斷點是頁面調試過程中的常用手段,除此之外,還可以通過查看頁面的跟蹤信息進行錯誤排查以及性能優化。ASP.NET中啟用頁面跟蹤非常方便,只需在Page指令中加入Trace="True"屬性即可:
<%@ Page Language="C#" Trace="true">
跟蹤信息可以分為兩類:
a.頁面執行詳細情況
其中主要包括頁面生命周期中各事件列表、控件樹列表(可以查看每個控件的HTML字節數以及ViewState字節數)、Session狀態、Application狀態、Cookie集合、QueryString集合、服務器變量等信息。
b.自定義跟蹤信息
通過在頁面代碼中調用Trace.Write()或Trace.Warn()方法便可將指定內容寫入跟蹤信息中的"Trace Information"節。就算頁面發生了錯誤,跟蹤信息還是會顯示出來,并且在發布應用程序時無需刪除相關的跟蹤代碼,只需從Page指令中移除Trace屬性即可。
2.在服務器端控件中添加客戶端屬性
我們有時會向服務器端控件中添加一些特殊的屬性,這類屬性不需要服務器端的處理,只需簡單的發送至客戶端即可,我們不妨稱其為客戶端屬性,例如HTML屬性或自定義屬性(可能用于實現某種特定的JavaScript功能)??梢酝ㄟ^以下幾種方法達到這個目的:
a.直接向控件添加客戶端屬性
<this.style.cursor='pointer'" runat="server" />
其中的onmouseover是客戶端屬性,注意,編譯器是允許這種寫法的,但會顯示警告。
b.調用內置方法
可以通過調用WebControl.Attributes.Add()方法為控件添加客戶端屬性,如下所示:
MyButton.Attributes.Add("onmouseover", "this.style.cursor='pointer'"); 這也是最常用的方法。
c.創建自定義控件
如果某個類型的服務器端控件中經常需要添加客戶端屬性,則可以考慮創建一個繼承自該服務器端控件的自定義控件,其中包含特定的客戶端屬性。
正是考慮到這一點,ASP.NET 2.0中為按鈕控件(包括Button、LinkButton、ImageButton控件)提供了OnClientClick屬性,可以這樣寫:
MyButton.OnClientClick = "alert('Hello!')"; 真是貼心的功能!
3.表單數據的服務器端驗證
將數據驗證任務從服務器端遷移到客戶端的過程促使了JavaScript的產生,這也是我們沿用至今的一種方式。但只有在保證客戶端JavaScript正常運行的前提下,這種方式才能發揮其作用。
不幸的是,總有一些例外,比如瀏覽器不支持JavaScript,或者用戶刻意關閉了瀏覽器的JavaScript功能,這就導致了第一重防護失效。比較保險的做法是加入第二重防護,即對用戶提交的數據進行服務器端驗證,但這無疑將增加開發者的工作量。
新聞熱點
疑難解答
圖片精選