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