吳婷婷 員志超
摘要:在利用ASP.NET編程時,會遇到應(yīng)用程序性能不高的問題,在此對如何有效的提高應(yīng)用程序性能方面進行了研究,提出了應(yīng)用程序性能的五種方法,在實際工作中進行了驗證,收到了預(yù)期的效果。
關(guān)鍵詞:設(shè)計 應(yīng)用程序
隨著微軟.NET的流行,ASP.NET越來越為廣大開發(fā)人員所接受。我們都知道,ASP.NET的開發(fā)不僅需要掌握其基本的原理,更要多實踐,從實踐中獲取真正的開發(fā)本領(lǐng)。在我們的實際開發(fā)中,往往基本的原理滿足不了開發(fā)需求,作為一名教師,在長期的教學以及項目開發(fā)中,我總結(jié)出了下面五個小技巧,希望對大家的開發(fā)有所裨益。
1.在使用Visual Studio .NET時,除直接或非引用的對象外,不要使用缺省的名字
Visual Studio .NET的一個功能是,無論是類、控件或表單中的對象,它都能夠為新對象提供缺省名字。 我們能夠,也應(yīng)該將應(yīng)用程序中所有的表單和控件的名字都修改成有意義的名字。對于較小的演示性程序而言,缺省的名字還能夠勝任,但如果應(yīng)用程序由多個表單,每個表單上有許多按鈕和標簽時,象frmStartup、frmDataEntry和frmReports這樣的表單名就比Form1、Form2和Form3這樣的名字更易于理解和維護。
修改一個工程中所有文件中出現(xiàn)的一個名字的一個好方法是,在Visual Studio .NET菜單中依次選擇“編輯”->“發(fā)現(xiàn)和替換”->“替換”命令。
2. 在刷新和提交頁面后,保存你的頁面滾動條的位置
用下面的方法可以很快地確定和記住你提交前的位置。
網(wǎng)上的Old Dog Learns New Tricks也有一個類似的例子Maintain Scroll Position in any Page Element,不過他使用了Web Behavior這意味著你需要使用一個.htc文件
Private Sub RetainScrollPosition()
Dim saveScrollPosition As New StringBuilder
Dim setScrollPosition As New StringBuilder
RegisterHiddenField("__SCROLLPOS", "0")
saveScrollPosition.Append("")
RegisterStartupScript("saveScroll", saveScrollPosition.ToString())
If (Page.IsPostBack = True) Then
setScrollPosition.Append("")
RegisterStartupScript("setScroll", setScrollPosition.ToString())
End If
End Sub
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RetainScrollPosition()
End Sub
3.設(shè)置服務(wù)器端控件的焦點
Private Sub SetFocus(ByVal controlToFocus As Control)
Dim scriptFunction As New StringBuilder
Dim scriptClientId As String
scriptClientId = controlToFocus.ClientID
scriptFunction.Append("")
RegisterStartupScript("focus", scriptFunction.ToString())
End Sub
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If (Page.IsPostBack = False) Then
SetFocus(TextBox1)
End If
End Sub
4.滾動DataGrid
這招就更簡單了,有時候你的頁面只有一個固定的地方,但是需要顯示非常多的數(shù)據(jù),亦或是也不定,但是只有固定的一個地方給你顯示它了。這時你就可以用下面這招,自動出滾動條,而且適用許多控件。很簡單將你的控件放在一個DIV中將overflow屬性設(shè)置成auto
<div style=“height:400px;width:200px;overflow:auto”>
<asp:datagrid id=“MyGrid” runat=“server”/>
</div>
5.動態(tài)創(chuàng)建控件
利用PlaceHolder控件,這東西在ASP.NET 2.0 Mutil-View和Master Page中運用的就更加多了。
Sub Page_Load()
Dim i as Integer
For i=0 to 4
Dim myUserControl as Control
myUserControl = Page.LoadControl(“foo.ascx”)
PlaceHolder1.Controls.Add(myUserControl)
PlaceHolder1.Controls.Add(New LiteralControl(“<br>”))
Next i
End Sub
希望上述技巧能對大家的實際開發(fā)帶來真正的方便!從基礎(chǔ)開始,把握好一些技巧的應(yīng)用,相信通過您的努力,一定能開發(fā)出有創(chuàng)意的ASP程序!◆
參考文獻:
【1】 孫印杰楊滔呂書琴,《ASP.NET+SQL SERVER動態(tài)網(wǎng)站設(shè)計實例精解》,北京,電子工業(yè)出版社,2005年