浅析ASP.NET应用程序的技巧
2009-04-29吴婷婷员志超
吴婷婷 员志超
摘要:在利用ASP.NET编程时,会遇到应用程序性能不高的问题,在此对如何有效的提高应用程序性能方面进行了研究,提出了应用程序性能的五种方法,在实际工作中进行了验证,收到了预期的效果。
关键词:设计 应用程序
随着微软.NET的流行,ASP.NET越来越为广大开发人员所接受。我们都知道,ASP.NET的开发不仅需要掌握其基本的原理,更要多实践,从实践中获取真正的开发本领。在我们的实际开发中,往往基本的原理满足不了开发需求,作为一名教师,在长期的教学以及项目开发中,我总结出了下面五个小技巧,希望对大家的开发有所裨益。
1.在使用Visual Studio .NET时,除直接或非引用的对象外,不要使用缺省的名字
Visual Studio .NET的一个功能是,无论是类、控件或表单中的对象,它都能够为新对象提供缺省名字。 我们能够,也应该将应用程序中所有的表单和控件的名字都修改成有意义的名字。对于较小的演示性程序而言,缺省的名字还能够胜任,但如果应用程序由多个表单,每个表单上有许多按钮和标签时,象frmStartup、frmDataEntry和frmReports这样的表单名就比Form1、Form2和Form3这样的名字更易于理解和维护。
修改一个工程中所有文件中出现的一个名字的一个好方法是,在Visual Studio .NET菜单中依次选择“编辑”->“发现和替换”->“替换”命令。
2. 在刷新和提交页面后,保存你的页面滚动条的位置
用下面的方法可以很快地确定和记住你提交前的位置。
网上的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.设置服务器端控件的焦点
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
这招就更简单了,有时候你的页面只有一个固定的地方,但是需要显示非常多的数据,亦或是也不定,但是只有固定的一个地方给你显示它了。这时你就可以用下面这招,自动出滚动条,而且适用许多控件。很简单将你的控件放在一个DIV中将overflow属性设置成auto
<div style=“height:400px;width:200px;overflow:auto”>
<asp:datagrid id=“MyGrid” runat=“server”/>
</div>
5.动态创建控件
利用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
希望上述技巧能对大家的实际开发带来真正的方便!从基础开始,把握好一些技巧的应用,相信通过您的努力,一定能开发出有创意的ASP程序!◆
参考文献:
【1】 孙印杰杨滔吕书琴,《ASP.NET+SQL SERVER动态网站设计实例精解》,北京,电子工业出版社,2005年