明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

ASP.NET編程中的10大技巧(下)

[摘要]6. HyperLink控件、LinkButton控件的差別 對于Web訪問者而言,HyperLink、LinkButton控件是一樣的,但它們在功能方面仍然有較大的差異。 當(dāng)用戶點擊控件時,HyperLink控件會立即將用戶“導(dǎo)航”到目標(biāo)URL,表件不會回送到服務(wù)器上。LinkButton控...
6. HyperLink控件、LinkButton控件的差別 

對于Web訪問者而言,HyperLink、LinkButton控件是一樣的,但它們在功能方面仍然有較大的差異。 

當(dāng)用戶點擊控件時,HyperLink控件會立即將用戶“導(dǎo)航”到目標(biāo)URL,表件不會回送到服務(wù)器上。LinkButton控件則首先將表件發(fā)回到服務(wù)器,然后將用戶導(dǎo)航到目標(biāo)URL。如果在“到達(dá)”目標(biāo)URL之前需要進(jìn)行服務(wù)器端處理,則使用LinkButton控件;如果無需進(jìn)行服務(wù)器端處理,則可以使用HyperLink控件。 

7、注釋代碼 

這一技巧并不是針對ASP.NET的,但它是一個良好的編程習(xí)慣。

  注釋不僅僅應(yīng)當(dāng)說明代碼會執(zhí)行什么操作,還應(yīng)當(dāng)注明原因。例如,不要僅僅在注釋中說明是在遍歷數(shù)組,而是要說明遍歷數(shù)組是根據(jù)某一算法計算一個值,除非算法是相當(dāng)簡單的,否則還應(yīng)當(dāng)對算法進(jìn)行簡要的說明。 


.NET工程中的不同的編程語言都有各自不同的注釋符號,下面是一個簡要的說明: 
  HTML <!-- 注釋 --> 
  javascript // 注釋 
  VBScript ’ 注釋 
  VB.NET ’ 注釋 
  C# // 注釋 
  /* 多行內(nèi)容 
  的注釋 
  */ 
  SQL -- 注釋 

在服務(wù)器控件的開始和結(jié)束標(biāo)記中沒有注釋符號,但服務(wù)器能夠忽略掉所有它不能識別的屬性,因此我們能夠通過使用沒有定義的屬性來插入注釋。下面是一個例子: 

  <asp:TextBox 
  id="txtLastName" 
  size="40" 
  comment="這是我的注釋" 
  runat="server" /> 
  在Visual Studio .NET中對源代碼進(jìn)行注釋非常簡單。高亮度顯示需要注釋的行,然后按Ctrl+K+C組合鍵添加注釋。要刪除注釋,只需高亮度顯示被注釋的代碼,并按下Ctrl+K+U組合鍵。 

  在C#工程中,我們還可以通過在每行的開始處使用///輸入XML注釋小節(jié)。在注釋小節(jié)中,我們可以使用下面的XML標(biāo)記組織注釋: 
  <summary></summary> 
  <remarks></remarks > 
  <param><braram> 
  <returns></returns> 
  <newpara></newpara> 

  要在Visual Studio .NET中查看這些XML注釋的格式化的報告,我們可以首先選擇“工具”菜單項,然后選擇“建立注釋W(xué)eb網(wǎng)頁”菜單項。 

8、使用trace方法和trace屬性記錄Page目錄中網(wǎng)頁的執(zhí)行情況 

  調(diào)試程序的一種古老的技術(shù)是在程序中的關(guān)健點插入輸出語句,通常情況下,輸出信息中會包含重要變量的值,相關(guān)信息可以輸出到屏幕、日志文件或者數(shù)據(jù)庫。

  在ASP.NET中,通過使用Page命令中的trace屬性,這種調(diào)試技術(shù)的使用更簡單了。Page命令是ASPX文件開始處的一行代碼,它提供編譯器的指示。Page命令中包含一個或多個屬性,向編譯器提供使用的編程語言、代碼支持文件的位置或要繼承的類的名字等信息。 

  Page命令中的屬性之一是trace,其值可能是true或false,下面是一個典型的Page命令,其中的trace屬性的值是true: 

  <%@ Page language="c#" trace="true" %> 

  如果trace屬性的值設(shè)置為true,由ASPX文件生成的Web頁就會顯示出來,除了網(wǎng)頁本身外,關(guān)于該頁的大量其他信息也會顯示出來。這些信息以下面小節(jié)的形式顯示在一張表格中: 

  ·Request細(xì)節(jié) 提供Session ID、請求時間和請求的狀態(tài)碼。 

  ·Trace Information 包含跟蹤日志、網(wǎng)頁生命周期中按時間先后順序各個步驟的列表。另外,也可以向其中添加定制信息。 

  ·控件樹 以一種分層次的方式列出網(wǎng)頁上的所有控件,包括每個控件以字節(jié)計算的大小。 

  ·Cookies集合 列出該網(wǎng)頁創(chuàng)建的所有Cookie。 

  ·頭部集合 HTTP頭部以及它們的值。 

  ·Server變量 與該網(wǎng)頁相關(guān)的Server環(huán)境變量。 

  包含在Trace Information小節(jié)中的跟蹤日志是最有用的,在這里我們可以插入自己的跟蹤命令。trace類中有2個方法能夠在跟蹤日志中插入命令:Trace.Write和Trace.Warn,除了Trace.Warn命令用紅色字體顯示、Trace.Write命令用黑色字體顯示外,它們是相同的。下面是跟蹤日志的一個屏幕快照,其中包含有幾個Trace.Warn命令。 

  跟蹤日志中最方便的功能是我們可以在開發(fā)和測試過程中在整個代碼中插入Trace.Write和Trace.Warn語句,而在最終交付應(yīng)用程序時,可以通過改變Page命令中trace屬性的值,禁止這些命令起作用,而無需在部署應(yīng)用軟件前刪除這些輸出語句。 

 9、使用存儲過程 

  微軟公司的SQL Server和其他現(xiàn)代關(guān)系數(shù)據(jù)庫都使用SQL命令定義和處理查詢。一個SQL語句或一系列SQL語句提交給SQL Server,SQL Server會對命令進(jìn)行解析,然后創(chuàng)建一個查詢計劃并對它進(jìn)行優(yōu)化,然后執(zhí)行該查詢計劃,這都需要大量的時間。 

  存儲過程是一系列被查詢處理器預(yù)解析和優(yōu)化的SQL命令,這些命令會被存儲起來,可以得到快速地執(zhí)行。存儲過程也被稱作sprocs,它可以接收輸入?yún)?shù),使一個單一的存儲過程能夠處理較大范圍的特定的查詢。 

  因為sprocs是預(yù)先被解析的,對于復(fù)雜的查詢更顯得重要,其查詢計劃是預(yù)先優(yōu)化的,因此調(diào)用查詢過程比執(zhí)行相同功能的SQL語句速度要快得多。 

  10、使用.NET命令行 

  .NET命令行工具在命令提示符窗口中運(yùn)行。為了使命令能夠執(zhí)行,它必須駐留在命令提示符的當(dāng)前目錄中,或通過設(shè)置PATH環(huán)境變量。 

.  NET SDK在“啟動”菜單上安裝一個菜單項,該菜單項能夠打開一個正確設(shè)置了PATH環(huán)境變量的命令提示符窗口。我們可以通過依次點擊“開始”->“程序”->“Microsoft Visual Studio .NET”->“Visual Studio .NET工具”->“Visual Studio .NET命令提示符”,啟動命令提示符窗口。 

  通過在將該菜單項從菜單上拖到桌面上時,同時按Ctrl+C鍵,就可以將該菜單項的快捷方式拷貝到桌面上,使用起來會非常方便。