解讀ASP.NET編寫應用程序的十大技巧_.Net教程
推薦:淺談ASP.NET開發下的MVC設計模式的實現ASP.NET是微軟最新推出的新型體系結構.NET框架的一部分,它為構造新一代動態網站和基于網絡的分布式應用提供了強有力的支持。與以前的Web 開發模型相比,ASP.NET 提供了許多重要的優點例如: 簡易性;安全性;可管理性等。而且與基于過程的ASP頁面技術相比,
1、在使用Visual Studio .NET時,除直接或非引用的對象外,不要使用缺省的名字。
.NET帶來的好處之一是所有的源代碼和配置文件都是純文本文件,能夠使用Notepad或WordPad等任意的文本編輯器進行編輯。如果不愿意,我們并非一定要使用Visual Studio .NET作為集成開發環境。但使用了Visual Studio .NET,我們可以在Windows文件管理器中看到文件,或在Visual Studio .NET之外從文本編輯器中瀏覽文件的內容。
象其他復雜的工具那樣,在學會如何充分發揮它的作用和掌握其“習性”前,Visual Studio .NET也會使我們產生一種挫折感。有時,它象一個難以了解的黑盒子,會生成大量的文件和許多無用的代碼。
Visual Studio .NET的一個功能是,無論是類、控件或表單中的對象,它都能夠為新對象提供缺省名字。例如,如果我們創建了一個新的ASP.NET Web Application,其缺省的名字將是WebApplication1。我們可以在“新工程”對話框中方便地改變該應用的名字,但同時改變的只是該應用程序的名字空間的名字及其所在的虛擬目錄,源代碼文件的缺省名字仍然是WebForm1.aspx和WebForm1.aspx.cs(C#工程)或WebForm1.aspx.vb(VB.NET工程)。
我們可以在方案瀏覽器中改變ASPX和代碼使用的文件名字,但Web頁類的名字仍然將是WebForm1。如果在該Web表單上生成一個按鈕,其缺省的名字將是Button1。事實上,所有控件的名字都是由控件的類型和數字組成的。
我們能夠,也應該將應用程序中所有的表單和控件的名字都修改成有意義的名字。對于較小的演示性程序而言,缺省的名字還能夠勝任,但如果應用程序由多個表單,每個表單上有許多按鈕和標簽時,象frmStartup、frmDataEntry和frmReports這樣的表單名就比Form1、Form2和Form3這樣的名字更易于理解和維護。
如果表單上控件要在代碼的其他地方引用,使它有一個有意義的名字就更重要了。btnOK、btnCancel和btnPrint這樣的名字使看代碼的人更容易理解,因而,也比名字為Button1、Button2、Button3這樣的控件更容易維護。
修改一個工程中所有文件中出現的一個名字的一個好方法是,在VisualStudio.NET菜單中依次選擇“編輯”->“發現和替換”->“替換”命令。在看二周前編寫的代碼時,我們經常就象第一次見到這些代碼一樣,因此使它們有一個有助于我們理解其含義的名字是十分有必要的。
2、即使不使用Visual Studio .NET進行編程,使用代碼支持文件也有利于提高應用程序的性能
在Web應用程序、Web服務或Web控件等所有的ASP.NET Web工程中,Visual Studio .NET都使用代碼支持文件。代碼支持文件使工程具有更好的組織、模塊性,更適合多人組成的開發團隊。另外,它還會帶來性能的提高。
代碼支持文件的內容被編譯成一個組合文件中的類,一般是一個DLL文件,有時也可以是EXE文件。該文件駐留在應用程序的組合體高速緩沖區中,在應用程序啟動時,可以立即得到它。
如果代碼是包含在< script>標記中或ASPX文件代碼中,它仍然會被編譯成一個Web頁類。在這種情況下,每當該網頁在應用程序對話中第一次加載時,都需要重新進行編譯,被編譯的類就會駐留在內存中。每當計算機啟動、IIS停止、重新啟動或者源代碼、配置文件改變時,該文件必須重新編譯。盡管不大,但這樣引起的性能損耗也是相當可觀的。
3、盡量減少表單回送
每當點擊Web網頁上的Button、LinkButton或ImageButton控件時,表單就會被發送到服務器上。如果控件的AutoPostBack屬性被設置為true,如果CheckBox、CheckBoxList等控件的狀態被改變后,也會使表單會發送回服務器。
每次當表單被發送回服務器,就會被重新加載,啟動Page_Load****,執行Page_Load****處理程序中的所有代碼。把網頁的初始化代碼放在這里是最合適不過的了。我們經常會希望在每次加載網頁時執行一些代碼,而希望只有在網頁第一次加載時執行另一些代碼,甚至希望一些代碼在除首次加載外的每次加載時執行。
可以利用IsPostBack特性來完成這一功能。在網頁第一次加載時,該屬性的值是false。如果網頁因回送而被重新加載,IsPostBack屬性的值就會被設置為true。通過測試,可以在任意時候執行指定的代碼。下面是相關的C#代碼:
以下為引用的內容:
protected void Page_Load(Object sender, EventArgs e)
{
// 網頁每次加載時,執行的一些操作
if (!IsPostBack)
{
// 網頁第一次加載時執行的操作
}
else
{
// 回送時執行的操作
}
// 網頁每次加載時執行的操作
}
分享:Asp.net ajax實現任務提示頁面以下為引用的內容: %@ Page Language=C# % E html PUBLIC -//W3C//DTD XHTM onal.dtd script runat=server void WaitFiveSeconds(object o, EventArgs e) { System.Threading
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-解讀ASP.NET編寫應用程序的十大技巧。