标题: PHP网页设计必学:设计ASP.NET使用法式的七大绝招 [打印本页] 作者: 萌萌妈妈 时间: 2015-2-3 23:59 标题: PHP网页设计必学:设计ASP.NET使用法式的七大绝招 会MYSQL吗?会,我会把我的信息在数据库里插入删除啦 跟着微软.NET的盛行,ASP.NET愈来愈为宽大开辟人员所承受。作为ASP.NET的开辟人员,咱们不但需求把握其根基的道理,更要多多理论,从理论中获得真实的开辟伎俩。在咱们的实践开辟中,常常根基的道理知足不了开辟需求,咱们更多的要堆集一些开辟技能,本文就向人人引见一些适用技能,但愿对人人的开辟有所裨益。 1. ~ 的用法
普通的情形下,咱们是利用./../ 如许的绝对途径来肯定和计划咱们的资本(好比图片、资本文件),但这类体例下在咱们安排使用的时分,能够会失足,别的关于.ascx的控件中假如包括了一个图片,而这个控件被咱们在分歧条理的两个目次的aspx文件分离援用时,成绩就会呈现了。
~/image/about.bmp 是一种十分好的办法,它以Web使用法式的根目次为肇端点,如许使得比你利用./image/about.bmp如许的体例要加倍天真和便利。有一点欠好,是这类体例是在ASP.NET运转时静态解析的,所以在IDE设计形式中,你能够不克不及预览它。 2. 在刷新和提交页面后,保留你的页面转动条的地位
常常有如许的情形,咱们需求用户提交一个表单,然而表单中有超越500+个?控件或文本框要填写,也就是说用户需求拉动IE的转动条才干够填得完,那末假设用户正在可见IE局限的2/3处,选择了一个组合框的值,很不幸组合框是办事器真个,那末也就意味着页面会提交一次,而当用户再看见刷新过的页面时,页面肯定在3/1的中央也就是显示在页面最入手下手的中央,用户只要拖动鼠标,然后接着方才的中央再填写剩下的250个控件,很不幸,370个控件又需求他选择一下?
用上面的办法可以很快地肯定和记住你提交前的地位。
网上的Old Dog Learns New Tricks也有一个相似的例子Maintain Scroll Position in any Page Element,不外他利用了Web Behavior这意味着你需求利用一个.htc文件
<P> 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. DataList利用分歧作风的模板
这招也十分适用,你可以制造两个分歧的模板或体现模式,分离以.ascx控件的模式保留,运转时依据某个前提静态的选择利用个中的一个模板,别的ScottGu以为ItemDataBound办法也能够定制你显示的体现,好比加亮某个元素或是加一个促销告白图等等。
<P> Dim theme As String
theme = DropDownList1.SelectedValue
DataList1.ItemTemplate = Page.LoadTemplate(theme & ".ascx") ---Cool
DataList1.DataSource = DS
DataList1.DataBind() 4. 设置办事器端控件的核心
<P> 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 5. 转动DataGrid
这招就更复杂了,有时分你的页面只要一个固定的中央,然而需求显示十分多的数据,亦或是也不定,然而只要固定的一个中央给你显示它了。这时候你就能够用上面这招,主动出转动条,并且合用很多控件。很复杂将你的控件放在一个DIV中将overflow属性设置成auto
<P><div style=“height:400px;width:200px;overflow:auto”>
<asp:datagrid id=“MyGrid” runat=“server”/>
</div> 6. 静态创立控件
使用PlaceHolder控件,这器材在ASP.NET 2.0 Mutil-View和Master Page中应用的就加倍多了。
<P>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 7. 客户端代码的利用
1). 可使用客户真个事务代码,但二者不克不及同名,办事器端代码的名是你可以掌握的。关于非ASP.NET的尺度控件的自界说控件必需完成IAttributeAccessor接口或从WebControl派生而且可用expando属性
<P>asp:ImageButton id=“foo”
ImageUrl=“start.jpg”
onMouseOver=“rollover(this);”
onMouseOut=“rollout(this)”
rolloversrc=“myrollover.jpg”
rolloutsrc=“myrollout.jpg”
runat=“server”/>
<input type=Button onClick=“return clientHandler()”
onServerClick=“Button1_Click” … />